From 0a5804b53a3c71dc0c9c43e5c747015b6e50e9e1 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Wed, 12 Aug 2015 07:31:52 +0900 Subject: dm: drop CONFIG_DM_DEVICE_REMOVE from uncmd list We do not want to compile the DM remove code for SPL. Currently, we undef it in include/config_uncmd_spl.h (for C files) and in scripts/Makefile.uncmd_spl (for Makefiles). This is really ugly. This commit demonstrates how we can deprecate those two files. Use $(SPL_) for the entry in the Makfile and CONFIG_IS_ENABLED() in C files. Signed-off-by: Masahiro Yamada Reviewed-by: Tom Rini Reviewed-by: Simon Glass --- drivers/core/Makefile | 2 +- drivers/core/device.c | 6 +++--- drivers/core/uclass.c | 4 ++-- include/config_uncmd_spl.h | 1 - include/dm/device-internal.h | 10 +++++----- include/dm/uclass-internal.h | 4 ++-- scripts/Makefile.uncmd_spl | 2 -- 7 files changed, 13 insertions(+), 16 deletions(-) diff --git a/drivers/core/Makefile b/drivers/core/Makefile index ccc2fd4e21..1dd25a3660 100644 --- a/drivers/core/Makefile +++ b/drivers/core/Makefile @@ -9,7 +9,7 @@ obj-$(CONFIG_DEVRES) += devres.o ifndef CONFIG_SPL_BUILD obj-$(CONFIG_OF_CONTROL) += simple-bus.o endif -obj-$(CONFIG_DM_DEVICE_REMOVE) += device-remove.o +obj-$(CONFIG_$(SPL_)DM_DEVICE_REMOVE) += device-remove.o obj-$(CONFIG_DM) += dump.o obj-$(CONFIG_REGMAP) += regmap.o obj-$(CONFIG_SYSCON) += syscon-uclass.o diff --git a/drivers/core/device.c b/drivers/core/device.c index bbe7a94f2a..56b90817de 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -140,7 +140,7 @@ int device_bind(struct udevice *parent, const struct driver *drv, return 0; fail_child_post_bind: - if (IS_ENABLED(CONFIG_DM_DEVICE_REMOVE)) { + if (CONFIG_IS_ENABLED(DM_DEVICE_REMOVE)) { if (drv->unbind && drv->unbind(dev)) { dm_warn("unbind() method failed on dev '%s' on error path\n", dev->name); @@ -148,14 +148,14 @@ fail_child_post_bind: } fail_bind: - if (IS_ENABLED(CONFIG_DM_DEVICE_REMOVE)) { + if (CONFIG_IS_ENABLED(DM_DEVICE_REMOVE)) { if (uclass_unbind_device(dev)) { dm_warn("Failed to unbind dev '%s' on error path\n", dev->name); } } fail_uclass_bind: - if (IS_ENABLED(CONFIG_DM_DEVICE_REMOVE)) { + if (CONFIG_IS_ENABLED(DM_DEVICE_REMOVE)) { list_del(&dev->sibling_node); if (dev->flags & DM_FLAG_ALLOC_PARENT_PDATA) { free(dev->parent_platdata); diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index 5c4a66dd8c..f63ff599a6 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -435,7 +435,7 @@ err: return ret; } -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int uclass_unbind_device(struct udevice *dev) { struct uclass *uc; @@ -515,7 +515,7 @@ int uclass_post_probe_device(struct udevice *dev) return 0; } -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int uclass_pre_remove_device(struct udevice *dev) { struct uclass_driver *uc_drv; diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h index c191f5634e..86cc0c3c5d 100644 --- a/include/config_uncmd_spl.h +++ b/include/config_uncmd_spl.h @@ -32,7 +32,6 @@ #endif #undef CONFIG_DM_WARN -#undef CONFIG_DM_DEVICE_REMOVE #undef CONFIG_DM_SEQ_ALIAS #undef CONFIG_DM_STDIO diff --git a/include/dm/device-internal.h b/include/dm/device-internal.h index 2cd2fe91d8..04884f1805 100644 --- a/include/dm/device-internal.h +++ b/include/dm/device-internal.h @@ -87,7 +87,7 @@ int device_probe_child(struct udevice *dev, void *parent_priv); * @dev: Pointer to device to remove * @return 0 if OK, -ve on error (an error here is normally a very bad thing) */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int device_remove(struct udevice *dev); #else static inline int device_remove(struct udevice *dev) { return 0; } @@ -101,7 +101,7 @@ static inline int device_remove(struct udevice *dev) { return 0; } * @dev: Pointer to device to unbind * @return 0 if OK, -ve on error */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int device_unbind(struct udevice *dev); #else static inline int device_unbind(struct udevice *dev) { return 0; } @@ -112,7 +112,7 @@ static inline int device_unbind(struct udevice *dev) { return 0; } * @dev: The device whose children are to be removed * @return 0 on success, -ve on error */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int device_remove_children(struct udevice *dev); #else static inline int device_remove_children(struct udevice *dev) { return 0; } @@ -127,13 +127,13 @@ static inline int device_remove_children(struct udevice *dev) { return 0; } * @dev: The device that is to be stripped of its children * @return 0 on success, -ve on error */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int device_unbind_children(struct udevice *dev); #else static inline int device_unbind_children(struct udevice *dev) { return 0; } #endif -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) void device_free(struct udevice *dev); #else static inline void device_free(struct udevice *dev) {} diff --git a/include/dm/uclass-internal.h b/include/dm/uclass-internal.h index 9b68508667..b51e1da5c1 100644 --- a/include/dm/uclass-internal.h +++ b/include/dm/uclass-internal.h @@ -116,7 +116,7 @@ int uclass_bind_device(struct udevice *dev); * @dev: Pointer to the device * #return 0 on success, -ve on error */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int uclass_unbind_device(struct udevice *dev); #else static inline int uclass_unbind_device(struct udevice *dev) { return 0; } @@ -153,7 +153,7 @@ int uclass_post_probe_device(struct udevice *dev); * @dev: Pointer to the device * #return 0 on success, -ve on error */ -#ifdef CONFIG_DM_DEVICE_REMOVE +#if CONFIG_IS_ENABLED(DM_DEVICE_REMOVE) int uclass_pre_remove_device(struct udevice *dev); #else static inline int uclass_pre_remove_device(struct udevice *dev) { return 0; } diff --git a/scripts/Makefile.uncmd_spl b/scripts/Makefile.uncmd_spl index 4f056525bb..a0630d1ef1 100644 --- a/scripts/Makefile.uncmd_spl +++ b/scripts/Makefile.uncmd_spl @@ -15,6 +15,4 @@ CONFIG_DM_SPI= CONFIG_DM_SPI_FLASH= endif -CONFIG_DM_DEVICE_REMOVE= - endif -- cgit v1.2.1