diff options
Diffstat (limited to 'drivers/of/platform.c')
| -rw-r--r-- | drivers/of/platform.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index d58ade170c4b..7dacc1ebe91e 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c | |||
| @@ -21,14 +21,12 @@ extern struct device_attribute of_platform_device_attrs[]; | |||
| 21 | 21 | ||
| 22 | static int of_platform_bus_match(struct device *dev, struct device_driver *drv) | 22 | static int of_platform_bus_match(struct device *dev, struct device_driver *drv) |
| 23 | { | 23 | { |
| 24 | struct of_device *of_dev = to_of_device(dev); | 24 | const struct of_device_id *matches = drv->of_match_table; |
| 25 | struct of_platform_driver *of_drv = to_of_platform_driver(drv); | ||
| 26 | const struct of_device_id *matches = of_drv->match_table; | ||
| 27 | 25 | ||
| 28 | if (!matches) | 26 | if (!matches) |
| 29 | return 0; | 27 | return 0; |
| 30 | 28 | ||
| 31 | return of_match_device(matches, of_dev) != NULL; | 29 | return of_match_device(matches, dev) != NULL; |
| 32 | } | 30 | } |
| 33 | 31 | ||
| 34 | static int of_platform_device_probe(struct device *dev) | 32 | static int of_platform_device_probe(struct device *dev) |
| @@ -46,7 +44,7 @@ static int of_platform_device_probe(struct device *dev) | |||
| 46 | 44 | ||
| 47 | of_dev_get(of_dev); | 45 | of_dev_get(of_dev); |
| 48 | 46 | ||
| 49 | match = of_match_device(drv->match_table, of_dev); | 47 | match = of_match_device(drv->driver.of_match_table, dev); |
| 50 | if (match) | 48 | if (match) |
| 51 | error = drv->probe(of_dev, match); | 49 | error = drv->probe(of_dev, match); |
| 52 | if (error) | 50 | if (error) |
| @@ -386,11 +384,6 @@ int of_bus_type_init(struct bus_type *bus, const char *name) | |||
| 386 | 384 | ||
| 387 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) | 385 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) |
| 388 | { | 386 | { |
| 389 | /* initialize common driver fields */ | ||
| 390 | if (!drv->driver.name) | ||
| 391 | drv->driver.name = drv->name; | ||
| 392 | if (!drv->driver.owner) | ||
| 393 | drv->driver.owner = drv->owner; | ||
| 394 | drv->driver.bus = bus; | 387 | drv->driver.bus = bus; |
| 395 | 388 | ||
| 396 | /* register with core */ | 389 | /* register with core */ |
