diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2015-08-02 13:44:43 -0400 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2015-08-25 12:29:55 -0400 |
commit | 43443ad692cf1d41a90cac2ed7066a10cd67a9c6 (patch) | |
tree | c106efe1b3b866faf369f700b859a46a674ca128 | |
parent | cebb053bd144d88a4c24b14dd8ac775d8e5972d5 (diff) |
of/platform: add function to populate default bus
When a default bus like the simple-bus should be used someone had to
call of_platform_populate() with the default match table. This match
table was not exported, so it is impossible for code build as a module
to use this. Instead of exporting of_default_bus_match_table, add a new
function which uses this default match table and populates the bus.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Rob Herring <robh@kernel.org>
-rw-r--r-- | drivers/of/platform.c | 9 | ||||
-rw-r--r-- | include/linux/of_platform.h | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index ddf8e42c9367..918f01f26d4b 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c | |||
@@ -456,6 +456,15 @@ int of_platform_populate(struct device_node *root, | |||
456 | } | 456 | } |
457 | EXPORT_SYMBOL_GPL(of_platform_populate); | 457 | EXPORT_SYMBOL_GPL(of_platform_populate); |
458 | 458 | ||
459 | int of_platform_default_populate(struct device_node *root, | ||
460 | const struct of_dev_auxdata *lookup, | ||
461 | struct device *parent) | ||
462 | { | ||
463 | return of_platform_populate(root, of_default_bus_match_table, lookup, | ||
464 | parent); | ||
465 | } | ||
466 | EXPORT_SYMBOL_GPL(of_platform_default_populate); | ||
467 | |||
459 | static int of_platform_device_destroy(struct device *dev, void *data) | 468 | static int of_platform_device_destroy(struct device *dev, void *data) |
460 | { | 469 | { |
461 | /* Do not touch devices not populated from the device tree */ | 470 | /* Do not touch devices not populated from the device tree */ |
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 611a691145c4..956a1006aefc 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h | |||
@@ -72,6 +72,9 @@ extern int of_platform_populate(struct device_node *root, | |||
72 | const struct of_device_id *matches, | 72 | const struct of_device_id *matches, |
73 | const struct of_dev_auxdata *lookup, | 73 | const struct of_dev_auxdata *lookup, |
74 | struct device *parent); | 74 | struct device *parent); |
75 | extern int of_platform_default_populate(struct device_node *root, | ||
76 | const struct of_dev_auxdata *lookup, | ||
77 | struct device *parent); | ||
75 | extern void of_platform_depopulate(struct device *parent); | 78 | extern void of_platform_depopulate(struct device *parent); |
76 | #else | 79 | #else |
77 | static inline int of_platform_populate(struct device_node *root, | 80 | static inline int of_platform_populate(struct device_node *root, |
@@ -81,6 +84,12 @@ static inline int of_platform_populate(struct device_node *root, | |||
81 | { | 84 | { |
82 | return -ENODEV; | 85 | return -ENODEV; |
83 | } | 86 | } |
87 | static inline int of_platform_default_populate(struct device_node *root, | ||
88 | const struct of_dev_auxdata *lookup, | ||
89 | struct device *parent) | ||
90 | { | ||
91 | return -ENODEV; | ||
92 | } | ||
84 | static inline void of_platform_depopulate(struct device *parent) { } | 93 | static inline void of_platform_depopulate(struct device *parent) { } |
85 | #endif | 94 | #endif |
86 | 95 | ||