Revert "driver-core: platform: probe of-devices only using list of compatibles"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Feb 2016 20:52:59 +0000 (12:52 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 Feb 2016 20:52:59 +0000 (12:52 -0800)
This reverts commit 67d02a1bbb334558e9380409a3cd426b36d4578b

This should reallow binding of of-devices by name.

It turned out that there are valid reasons (e.g. step by step conversion
to device tree probing using auxdata) to bind of-instantiated devices to
drivers by name. So revert to the original logic.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
drivers/base/platform.c

index 1b5b7b5b50c0a96a8035dc8076b86790e1084914..f437afa17f2b1d2933ed0882d7e7f291c6d86309 100644 (file)
@@ -949,8 +949,8 @@ static int platform_match(struct device *dev, struct device_driver *drv)
                return !strcmp(pdev->driver_override, drv->name);
 
        /* Attempt an OF style match first */
-       if (pdev->dev.of_node)
-               return of_driver_match_device(dev, drv);
+       if (of_driver_match_device(dev, drv))
+               return 1;
 
        /* Then try ACPI style match */
        if (acpi_driver_match_device(dev, drv))