diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2015-11-13 09:14:20 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-09 17:39:33 -0800 |
commit | 67d02a1bbb334558e9380409a3cd426b36d4578b (patch) | |
tree | 62755f35efb5515d532ed25dbdce830c7f46a602 /drivers/base | |
parent | cf68d85529f7dccc24412887d46e364f4b422a5d (diff) | |
download | linux-stable-67d02a1bbb334558e9380409a3cd426b36d4578b.tar.gz linux-stable-67d02a1bbb334558e9380409a3cd426b36d4578b.tar.bz2 linux-stable-67d02a1bbb334558e9380409a3cd426b36d4578b.zip |
driver-core: platform: probe of-devices only using list of compatibles
There are several indications that make a platform device match a
platform driver. For devices that are instantiated by a device tree
matching by name, id table or acpi mechanisms doesn't make sense and
might result in surprising effects. So limit matching to use the
driver's of_match_table for these.
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index f437afa17f2b..1b5b7b5b50c0 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -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 (of_driver_match_device(dev, drv)) - return 1; + if (pdev->dev.of_node) + return of_driver_match_device(dev, drv); /* Then try ACPI style match */ if (acpi_driver_match_device(dev, drv)) |