[U-Boot] [PATCH 13/16] dm: drop CONFIG_DM_DEVICE_REMOVE from uncmd list

Masahiro Yamada yamada.masahiro at socionext.com
Sun Jul 26 10:26:57 CEST 2015


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 <yamada.masahiro at socionext.com>
---

 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 d3cd968..d7ffac0 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_OF_CONTROL)	+= regmap.o
 obj-$(CONFIG_OF_CONTROL)	+= syscon-uclass.o
diff --git a/drivers/core/device.c b/drivers/core/device.c
index b479be7..47ec9c0 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 aba9880..adf13a7 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -391,7 +391,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;
@@ -471,7 +471,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 c191f56..86cc0c3 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 7da4216..83e7e34 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 9b68508..b51e1da 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 4f05652..a0630d1 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
-- 
1.9.1



More information about the U-Boot mailing list