Message ID | 20210405124900.v6.3.I08fd2e1c775af04f663730e9fb4d00e6bbb38541@changeid (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | USB: misc: Add onboard_usb_hub driver | expand |
On Mon, Apr 05, 2021 at 01:18:15PM -0700, Matthias Kaehlcke wrote: > Code for platform_device_create() and of_platform_device_create() is platform_device_create()? > only generated if CONFIG_OF_ADDRESS=y. Add stubs to avoid unresolved > symbols when CONFIG_OF_ADDRESS is not set. > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > --- > > Changes in v7: > - none > > Changes in v6: > - patch added to the series > > include/linux/of_platform.h | 22 ++++++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > > diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h > index 84a966623e78..d15b6cd5e1c3 100644 > --- a/include/linux/of_platform.h > +++ b/include/linux/of_platform.h > @@ -61,16 +61,18 @@ static inline struct platform_device *of_find_device_by_node(struct device_node > } > #endif > > +extern int of_platform_bus_probe(struct device_node *root, > + const struct of_device_id *matches, > + struct device *parent); This is also only built for CONFIG_OF_ADDRESS. But there's no need for an empty function as it is powerpc only and should never have a new user. > + > +#ifdef CONFIG_OF_ADDRESS > /* Platform devices and busses creation */ > extern struct platform_device *of_platform_device_create(struct device_node *np, > const char *bus_id, > struct device *parent); > > extern int of_platform_device_destroy(struct device *dev, void *data); > -extern int of_platform_bus_probe(struct device_node *root, > - const struct of_device_id *matches, > - struct device *parent); > -#ifdef CONFIG_OF_ADDRESS > + > extern int of_platform_populate(struct device_node *root, > const struct of_device_id *matches, > const struct of_dev_auxdata *lookup, > @@ -84,6 +86,18 @@ extern int devm_of_platform_populate(struct device *dev); > > extern void devm_of_platform_depopulate(struct device *dev); > #else > +/* Platform devices and busses creation */ > +static inline struct platform_device *of_platform_device_create(struct device_node *np, > + const char *bus_id, > + struct device *parent) > +{ > + return NULL; > +} > +static inline int of_platform_device_destroy(struct device *dev, void *data) > +{ > + return -ENODEV; > +} > + > static inline int of_platform_populate(struct device_node *root, > const struct of_device_id *matches, > const struct of_dev_auxdata *lookup, > -- > 2.31.0.208.g409f899ff0-goog >
On Thu, Apr 08, 2021 at 10:21:12AM -0500, Rob Herring wrote: > On Mon, Apr 05, 2021 at 01:18:15PM -0700, Matthias Kaehlcke wrote: > > Code for platform_device_create() and of_platform_device_create() is > > platform_device_create()? ack, should be of_platform_device_destroy() > > only generated if CONFIG_OF_ADDRESS=y. Add stubs to avoid unresolved > > symbols when CONFIG_OF_ADDRESS is not set. > > > > Signed-off-by: Matthias Kaehlcke <mka@chromium.org> > > --- > > > > Changes in v7: > > - none > > > > Changes in v6: > > - patch added to the series > > > > include/linux/of_platform.h | 22 ++++++++++++++++++---- > > 1 file changed, 18 insertions(+), 4 deletions(-) > > > > diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h > > index 84a966623e78..d15b6cd5e1c3 100644 > > --- a/include/linux/of_platform.h > > +++ b/include/linux/of_platform.h > > @@ -61,16 +61,18 @@ static inline struct platform_device *of_find_device_by_node(struct device_node > > } > > #endif > > > > +extern int of_platform_bus_probe(struct device_node *root, > > + const struct of_device_id *matches, > > + struct device *parent); > > This is also only built for CONFIG_OF_ADDRESS. But there's no need for > an empty function as it is powerpc only and should never have a new > user. ok
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 84a966623e78..d15b6cd5e1c3 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h @@ -61,16 +61,18 @@ static inline struct platform_device *of_find_device_by_node(struct device_node } #endif +extern int of_platform_bus_probe(struct device_node *root, + const struct of_device_id *matches, + struct device *parent); + +#ifdef CONFIG_OF_ADDRESS /* Platform devices and busses creation */ extern struct platform_device *of_platform_device_create(struct device_node *np, const char *bus_id, struct device *parent); extern int of_platform_device_destroy(struct device *dev, void *data); -extern int of_platform_bus_probe(struct device_node *root, - const struct of_device_id *matches, - struct device *parent); -#ifdef CONFIG_OF_ADDRESS + extern int of_platform_populate(struct device_node *root, const struct of_device_id *matches, const struct of_dev_auxdata *lookup, @@ -84,6 +86,18 @@ extern int devm_of_platform_populate(struct device *dev); extern void devm_of_platform_depopulate(struct device *dev); #else +/* Platform devices and busses creation */ +static inline struct platform_device *of_platform_device_create(struct device_node *np, + const char *bus_id, + struct device *parent) +{ + return NULL; +} +static inline int of_platform_device_destroy(struct device *dev, void *data) +{ + return -ENODEV; +} + static inline int of_platform_populate(struct device_node *root, const struct of_device_id *matches, const struct of_dev_auxdata *lookup,
Code for platform_device_create() and of_platform_device_create() is only generated if CONFIG_OF_ADDRESS=y. Add stubs to avoid unresolved symbols when CONFIG_OF_ADDRESS is not set. Signed-off-by: Matthias Kaehlcke <mka@chromium.org> --- Changes in v7: - none Changes in v6: - patch added to the series include/linux/of_platform.h | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-)