summaryrefslogtreecommitdiffstats
path: root/drivers/core
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2015-08-03 01:15:48 +0200
committerSimon Glass <sjg@chromium.org>2015-08-31 07:57:26 -0600
commit628d792c0775ff4b0d373494d075dd7fcb74bb76 (patch)
treea5247aa5cdc88538ee80e67f4d07c6b24f1d91f7 /drivers/core
parent4e9838c102e8575fbff3944e1596a53ec579844a (diff)
downloadtalos-obmc-uboot-628d792c0775ff4b0d373494d075dd7fcb74bb76.tar.gz
talos-obmc-uboot-628d792c0775ff4b0d373494d075dd7fcb74bb76.zip
dm: core: Add Kconfig for simple bus driver
Add Kconfig entries for the simple-bus driver, both for U-Boot and for SPL. The simple-bus is enabled by default in U-Boot and disabled by default in SPL to preserve the original behavior. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org> Modified to fit on top of Masahiro's $(SPL) setup: Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core')
-rw-r--r--drivers/core/Kconfig15
-rw-r--r--drivers/core/Makefile4
-rw-r--r--drivers/core/device.c4
3 files changed, 17 insertions, 6 deletions
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 788f8b739b..41f4e695e8 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -105,4 +105,19 @@ config DEBUG_DEVRES
If you are unsure about this, Say N here.
+config SIMPLE_BUS
+ bool "Support simple-bus driver"
+ depends on DM && OF_CONTROL
+ default y
+ help
+ Supports the 'simple-bus' driver, which is used on some systems.
+
+config SPL_SIMPLE_BUS
+ bool "Support simple-bus driver in SPL"
+ depends on SPL_DM && SPL_OF_CONTROL
+ default n
+ help
+ Supports the 'simple-bus' driver, which is used on some systems
+ in SPL.
+
endmenu
diff --git a/drivers/core/Makefile b/drivers/core/Makefile
index 11e0276e56..f19f67d30f 100644
--- a/drivers/core/Makefile
+++ b/drivers/core/Makefile
@@ -6,10 +6,8 @@
obj-y += device.o lists.o root.o uclass.o util.o
obj-$(CONFIG_DEVRES) += devres.o
-ifndef CONFIG_SPL_BUILD
-obj-$(CONFIG_$(SPL_)OF_CONTROL) += simple-bus.o
-endif
obj-$(CONFIG_$(SPL_)DM_DEVICE_REMOVE) += device-remove.o
+obj-$(CONFIG_$(SPL_)SIMPLE_BUS) += simple-bus.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 826d82c617..01f664796d 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -574,11 +574,9 @@ fdt_addr_t dev_get_addr(struct udevice *dev)
fdt_addr_t addr;
addr = fdtdec_get_addr(gd->fdt_blob, dev->of_offset, "reg");
- if (addr != FDT_ADDR_T_NONE) {
-#ifndef CONFIG_SPL_BUILD
+ if (CONFIG_IS_ENABLED(SIMPLE_BUS) && addr != FDT_ADDR_T_NONE) {
if (device_get_uclass_id(dev->parent) == UCLASS_SIMPLE_BUS)
addr = simple_bus_translate(dev->parent, addr);
-#endif
}
return addr;
OpenPOWER on IntegriCloud