The new phy-j721e-wiz driver causes a link failure without CONFIG_OF: drivers/phy/ti/phy-j721e-wiz.o: In function `wiz_remove': phy-j721e-wiz.c:(.text+0x40): undefined reference to `of_platform_device_destroy' Add a dummy version of of_platform_device_destroy to avoid having to add Kconfig dependencies for the driver. As there are a few other functions without dummy implementations, add those as well for completeness. Fixes: 42440de5438a ("phy: ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC") Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> --- include/linux/of_platform.h | 39 ++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 84a966623e78..f5dea3de4856 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h @@ -48,28 +48,49 @@ struct of_dev_auxdata { extern const struct of_device_id of_default_bus_match_table[]; +#ifdef CONFIG_OF /* Platform drivers register/unregister */ extern struct platform_device *of_device_alloc(struct device_node *np, const char *bus_id, struct device *parent); -#ifdef CONFIG_OF extern struct platform_device *of_find_device_by_node(struct device_node *np); -#else -static inline struct platform_device *of_find_device_by_node(struct device_node *np) -{ - return NULL; -} -#endif - /* 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); +#else +static inline struct platform_device *of_device_alloc(struct device_node *np, + const char *bus_id, + struct device *parent) +{ + return NULL; +} +static inline struct platform_device *of_find_device_by_node(struct device_node *np) +{ + return NULL; +} +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 0; +} +static inline int of_platform_bus_probe(struct device_node *root, + const struct of_device_id *matches, + struct device *parent) +{ + return -ENODEV; +} +#endif + #ifdef CONFIG_OF_ADDRESS extern int of_platform_populate(struct device_node *root, const struct of_device_id *matches, -- 2.20.0