diff options
author | Rob Herring <robh@kernel.org> | 2023-07-17 08:37:16 -0600 |
---|---|---|
committer | Rob Herring <robh@kernel.org> | 2023-08-04 11:36:33 -0600 |
commit | 73aca58b781e3e3d52bb7247b374fb5334a05001 (patch) | |
tree | c9f3c167ca8bb770cee823f9e8ae9088c1221851 /drivers/of | |
parent | 3e82150697d90d67196c8ed14aac0119072ff022 (diff) |
of: Move of_platform_register_reconfig_notifier() into DT core
There's no reason the generic platform bus code needs to call
of_platform_register_reconfig_notifier(). The notifier can be setup
before the platform bus is. Let's move it into of_core_init() which is
called just before platform_bus_init() instead to keep more of the DT
bits in the DT code.
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20230717143718.1715773-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r-- | drivers/of/base.c | 1 | ||||
-rw-r--r-- | drivers/of/of_private.h | 6 | ||||
-rw-r--r-- | drivers/of/platform.c | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index 166fb7d75337..e235f3a57ea8 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c @@ -167,6 +167,7 @@ void __init of_core_init(void) { struct device_node *np; + of_platform_register_reconfig_notifier(); /* Create the kset, and register existing nodes */ mutex_lock(&of_mutex); diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h index b57f1014e419..f38397c7b582 100644 --- a/drivers/of/of_private.h +++ b/drivers/of/of_private.h @@ -60,6 +60,12 @@ static inline int of_property_notify(int action, struct device_node *np, } #endif /* CONFIG_OF_DYNAMIC */ +#if defined(CONFIG_OF_DYNAMIC) && defined(CONFIG_OF_ADDRESS) +void of_platform_register_reconfig_notifier(void); +#else +static inline void of_platform_register_reconfig_notifier(void) { } +#endif + #if defined(CONFIG_OF_KOBJ) int of_node_is_attached(const struct device_node *node); int __of_add_property_sysfs(struct device_node *np, struct property *pp); diff --git a/drivers/of/platform.c b/drivers/of/platform.c index 051e29b7ad2b..e71adb394b41 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c @@ -21,6 +21,8 @@ #include <linux/of_platform.h> #include <linux/platform_device.h> +#include "of_private.h" + const struct of_device_id of_default_bus_match_table[] = { { .compatible = "simple-bus", }, { .compatible = "simple-mfd", }, |