summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2015-08-12 07:31:52 +0900
committerTom Rini <trini@konsulko.com>2015-08-18 13:46:04 -0400
commit0a5804b53a3c71dc0c9c43e5c747015b6e50e9e1 (patch)
tree81a01f1f1fc7d34a1e1076c72e88d71874de42f7
parente00e8b3989480fab08931cd80aacc7d1718b5a22 (diff)
downloadblackbird-obmc-uboot-0a5804b53a3c71dc0c9c43e5c747015b6e50e9e1.tar.gz
blackbird-obmc-uboot-0a5804b53a3c71dc0c9c43e5c747015b6e50e9e1.zip
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 <yamada.masahiro@socionext.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/core/Makefile2
-rw-r--r--drivers/core/device.c6
-rw-r--r--drivers/core/uclass.c4
-rw-r--r--include/config_uncmd_spl.h1
-rw-r--r--include/dm/device-internal.h10
-rw-r--r--include/dm/uclass-internal.h4
-rw-r--r--scripts/Makefile.uncmd_spl2
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
OpenPOWER on IntegriCloud