diff mbox

[U-Boot,v2,13/19] dm: omap3: Move driver model CONFIGs to Kconfig

Message ID 1423197710-1568-14-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Feb. 6, 2015, 4:41 a.m. UTC
Remove driver model CONFIGs from the board config headers and use Kconfig
instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v2: None

 arch/arm/cpu/armv7/omap3/Kconfig       |  9 +++++++++
 board/compulab/cm_t335/Kconfig         |  9 +++++++++
 board/gumstix/pepper/Kconfig           |  9 +++++++++
 board/isee/igep0033/Kconfig            |  9 +++++++++
 board/phytec/pcm051/Kconfig            |  9 +++++++++
 board/silica/pengwyn/Kconfig           |  9 +++++++++
 board/ti/am335x/Kconfig                | 10 ++++++++++
 configs/am3517_crane_defconfig         |  3 +++
 configs/am3517_evm_defconfig           |  3 +++
 configs/cm_t3517_defconfig             |  3 +++
 configs/cm_t35_defconfig               |  3 +++
 configs/devkit8000_defconfig           |  3 +++
 configs/dig297_defconfig               |  3 +++
 configs/eco5pk_defconfig               |  3 +++
 configs/mcx_defconfig                  |  3 +++
 configs/mt_ventoux_defconfig           |  3 +++
 configs/nokia_rx51_defconfig           |  3 +++
 configs/omap3_beagle_defconfig         |  3 +++
 configs/omap3_evm_defconfig            |  3 +++
 configs/omap3_evm_quick_mmc_defconfig  |  3 +++
 configs/omap3_evm_quick_nand_defconfig |  3 +++
 configs/omap3_ha_defconfig             |  3 +++
 configs/omap3_logic_defconfig          |  3 +++
 configs/omap3_mvblx_defconfig          |  3 +++
 configs/omap3_pandora_defconfig        |  3 +++
 configs/omap3_sdp3430_defconfig        |  3 +++
 configs/tao3530_defconfig              |  3 +++
 configs/tricorder_defconfig            |  3 +++
 configs/tricorder_flash_defconfig      |  3 +++
 configs/twister_defconfig              |  3 +++
 include/configs/nokia_rx51.h           |  1 +
 include/configs/ti_am335x_common.h     |  5 -----
 include/configs/ti_omap3_common.h      |  4 ----
 33 files changed, 134 insertions(+), 9 deletions(-)

Comments

Masahiro Yamada Feb. 9, 2015, 5:35 a.m. UTC | #1
Hi Simon,


On Thu,  5 Feb 2015 21:41:44 -0700
Simon Glass <sjg@chromium.org> wrote:

> Remove driver model CONFIGs from the board config headers and use Kconfig
> instead.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> Changes in v2: None
> 
>  arch/arm/cpu/armv7/omap3/Kconfig       |  9 +++++++++
>  board/compulab/cm_t335/Kconfig         |  9 +++++++++
>  board/gumstix/pepper/Kconfig           |  9 +++++++++
>  board/isee/igep0033/Kconfig            |  9 +++++++++
>  board/phytec/pcm051/Kconfig            |  9 +++++++++
>  board/silica/pengwyn/Kconfig           |  9 +++++++++
>  board/ti/am335x/Kconfig                | 10 ++++++++++
>  configs/am3517_crane_defconfig         |  3 +++
>  configs/am3517_evm_defconfig           |  3 +++
>  configs/cm_t3517_defconfig             |  3 +++
>  configs/cm_t35_defconfig               |  3 +++
>  configs/devkit8000_defconfig           |  3 +++
>  configs/dig297_defconfig               |  3 +++
>  configs/eco5pk_defconfig               |  3 +++
>  configs/mcx_defconfig                  |  3 +++
>  configs/mt_ventoux_defconfig           |  3 +++
>  configs/nokia_rx51_defconfig           |  3 +++
>  configs/omap3_beagle_defconfig         |  3 +++
>  configs/omap3_evm_defconfig            |  3 +++
>  configs/omap3_evm_quick_mmc_defconfig  |  3 +++
>  configs/omap3_evm_quick_nand_defconfig |  3 +++
>  configs/omap3_ha_defconfig             |  3 +++
>  configs/omap3_logic_defconfig          |  3 +++
>  configs/omap3_mvblx_defconfig          |  3 +++
>  configs/omap3_pandora_defconfig        |  3 +++
>  configs/omap3_sdp3430_defconfig        |  3 +++
>  configs/tao3530_defconfig              |  3 +++
>  configs/tricorder_defconfig            |  3 +++
>  configs/tricorder_flash_defconfig      |  3 +++
>  configs/twister_defconfig              |  3 +++
>  include/configs/nokia_rx51.h           |  1 +
>  include/configs/ti_am335x_common.h     |  5 -----
>  include/configs/ti_omap3_common.h      |  4 ----
>  33 files changed, 134 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig
> index a029379..2fe3232 100644
> --- a/arch/arm/cpu/armv7/omap3/Kconfig
> +++ b/arch/arm/cpu/armv7/omap3/Kconfig
> @@ -93,6 +93,15 @@ config TARGET_TWISTER
>  
>  endchoice
>  
> +config DM
> +	default y if !SPL_BUILD
> +
> +config DM_GPIO
> +	default y if DM && !SPL_BUILD
> +
> +config DM_SERIAL
> +	default y if DM && !SPL_BUILD
> +
>  config SYS_SOC
>  	default "omap3"
>  

I realized a problem when I looked at this patch.

In order to put the default values into board-Kconfig files,
we have to describe the "if ..." part correctly.
(otherwise, the dependencies between CONFIGs get broken.)

We had already added the same dependencies in the common parts:

config DM
        bool "Enable Driver Model"
        depends on !SPL_BUILD


config DM_SERIAL
        bool "Enable Driver Model for serial drivers"
        depends on DM



Now, we are duplicating the same dependencies in each board-Kconfig.
This is not nice.

I am very sorry, I have misguided you.
(What is worse, I can not suggest a good idea to solve this problem.)


Best Regards
Masahiro Yamada
Simon Glass Feb. 10, 2015, 5:04 a.m. UTC | #2
Hi Masahiro,

On 8 February 2015 at 22:35, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> Hi Simon,
>
>
> On Thu,  5 Feb 2015 21:41:44 -0700
> Simon Glass <sjg@chromium.org> wrote:
>
>> Remove driver model CONFIGs from the board config headers and use Kconfig
>> instead.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>> Changes in v2: None
>>
>>  arch/arm/cpu/armv7/omap3/Kconfig       |  9 +++++++++
>>  board/compulab/cm_t335/Kconfig         |  9 +++++++++
>>  board/gumstix/pepper/Kconfig           |  9 +++++++++
>>  board/isee/igep0033/Kconfig            |  9 +++++++++
>>  board/phytec/pcm051/Kconfig            |  9 +++++++++
>>  board/silica/pengwyn/Kconfig           |  9 +++++++++
>>  board/ti/am335x/Kconfig                | 10 ++++++++++
>>  configs/am3517_crane_defconfig         |  3 +++
>>  configs/am3517_evm_defconfig           |  3 +++
>>  configs/cm_t3517_defconfig             |  3 +++
>>  configs/cm_t35_defconfig               |  3 +++
>>  configs/devkit8000_defconfig           |  3 +++
>>  configs/dig297_defconfig               |  3 +++
>>  configs/eco5pk_defconfig               |  3 +++
>>  configs/mcx_defconfig                  |  3 +++
>>  configs/mt_ventoux_defconfig           |  3 +++
>>  configs/nokia_rx51_defconfig           |  3 +++
>>  configs/omap3_beagle_defconfig         |  3 +++
>>  configs/omap3_evm_defconfig            |  3 +++
>>  configs/omap3_evm_quick_mmc_defconfig  |  3 +++
>>  configs/omap3_evm_quick_nand_defconfig |  3 +++
>>  configs/omap3_ha_defconfig             |  3 +++
>>  configs/omap3_logic_defconfig          |  3 +++
>>  configs/omap3_mvblx_defconfig          |  3 +++
>>  configs/omap3_pandora_defconfig        |  3 +++
>>  configs/omap3_sdp3430_defconfig        |  3 +++
>>  configs/tao3530_defconfig              |  3 +++
>>  configs/tricorder_defconfig            |  3 +++
>>  configs/tricorder_flash_defconfig      |  3 +++
>>  configs/twister_defconfig              |  3 +++
>>  include/configs/nokia_rx51.h           |  1 +
>>  include/configs/ti_am335x_common.h     |  5 -----
>>  include/configs/ti_omap3_common.h      |  4 ----
>>  33 files changed, 134 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig
>> index a029379..2fe3232 100644
>> --- a/arch/arm/cpu/armv7/omap3/Kconfig
>> +++ b/arch/arm/cpu/armv7/omap3/Kconfig
>> @@ -93,6 +93,15 @@ config TARGET_TWISTER
>>
>>  endchoice
>>
>> +config DM
>> +     default y if !SPL_BUILD
>> +
>> +config DM_GPIO
>> +     default y if DM && !SPL_BUILD
>> +
>> +config DM_SERIAL
>> +     default y if DM && !SPL_BUILD
>> +
>>  config SYS_SOC
>>       default "omap3"
>>
>
> I realized a problem when I looked at this patch.
>
> In order to put the default values into board-Kconfig files,
> we have to describe the "if ..." part correctly.
> (otherwise, the dependencies between CONFIGs get broken.)
>
> We had already added the same dependencies in the common parts:
>
> config DM
>         bool "Enable Driver Model"
>         depends on !SPL_BUILD
>
>
> config DM_SERIAL
>         bool "Enable Driver Model for serial drivers"
>         depends on DM
>
>
>
> Now, we are duplicating the same dependencies in each board-Kconfig.
> This is not nice.
>
> I am very sorry, I have misguided you.
> (What is worse, I can not suggest a good idea to solve this problem.)

Yes it is unfortunate. However the problem of SPL not working for DM
is only waiting on the removal of gdata. In fact I have a series which
adds an #ifndef CONFIG_DM to the gdata and enables SPL for Tegra. I'll
send it soon.

So I think we can live with this for a while until we can remove the
'depends on !SPL_BUILD' everywhere. It does seem to work well
enough...

Regards,
Simon
Simon Glass Feb. 11, 2015, 7:46 p.m. UTC | #3
On 9 February 2015 at 22:04, Simon Glass <sjg@chromium.org> wrote:
> Hi Masahiro,
>
> On 8 February 2015 at 22:35, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
>> Hi Simon,
>>
>>
>> On Thu,  5 Feb 2015 21:41:44 -0700
>> Simon Glass <sjg@chromium.org> wrote:
>>
>>> Remove driver model CONFIGs from the board config headers and use Kconfig
>>> instead.
>>>
>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>> ---
>>>
>>> Changes in v2: None
>>>
>>>  arch/arm/cpu/armv7/omap3/Kconfig       |  9 +++++++++
>>>  board/compulab/cm_t335/Kconfig         |  9 +++++++++
>>>  board/gumstix/pepper/Kconfig           |  9 +++++++++
>>>  board/isee/igep0033/Kconfig            |  9 +++++++++
>>>  board/phytec/pcm051/Kconfig            |  9 +++++++++
>>>  board/silica/pengwyn/Kconfig           |  9 +++++++++
>>>  board/ti/am335x/Kconfig                | 10 ++++++++++
>>>  configs/am3517_crane_defconfig         |  3 +++
>>>  configs/am3517_evm_defconfig           |  3 +++
>>>  configs/cm_t3517_defconfig             |  3 +++
>>>  configs/cm_t35_defconfig               |  3 +++
>>>  configs/devkit8000_defconfig           |  3 +++
>>>  configs/dig297_defconfig               |  3 +++
>>>  configs/eco5pk_defconfig               |  3 +++
>>>  configs/mcx_defconfig                  |  3 +++
>>>  configs/mt_ventoux_defconfig           |  3 +++
>>>  configs/nokia_rx51_defconfig           |  3 +++
>>>  configs/omap3_beagle_defconfig         |  3 +++
>>>  configs/omap3_evm_defconfig            |  3 +++
>>>  configs/omap3_evm_quick_mmc_defconfig  |  3 +++
>>>  configs/omap3_evm_quick_nand_defconfig |  3 +++
>>>  configs/omap3_ha_defconfig             |  3 +++
>>>  configs/omap3_logic_defconfig          |  3 +++
>>>  configs/omap3_mvblx_defconfig          |  3 +++
>>>  configs/omap3_pandora_defconfig        |  3 +++
>>>  configs/omap3_sdp3430_defconfig        |  3 +++
>>>  configs/tao3530_defconfig              |  3 +++
>>>  configs/tricorder_defconfig            |  3 +++
>>>  configs/tricorder_flash_defconfig      |  3 +++
>>>  configs/twister_defconfig              |  3 +++
>>>  include/configs/nokia_rx51.h           |  1 +
>>>  include/configs/ti_am335x_common.h     |  5 -----
>>>  include/configs/ti_omap3_common.h      |  4 ----
>>>  33 files changed, 134 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig
>>> index a029379..2fe3232 100644
>>> --- a/arch/arm/cpu/armv7/omap3/Kconfig
>>> +++ b/arch/arm/cpu/armv7/omap3/Kconfig
>>> @@ -93,6 +93,15 @@ config TARGET_TWISTER
>>>
>>>  endchoice
>>>
>>> +config DM
>>> +     default y if !SPL_BUILD
>>> +
>>> +config DM_GPIO
>>> +     default y if DM && !SPL_BUILD
>>> +
>>> +config DM_SERIAL
>>> +     default y if DM && !SPL_BUILD
>>> +
>>>  config SYS_SOC
>>>       default "omap3"
>>>
>>
>> I realized a problem when I looked at this patch.
>>
>> In order to put the default values into board-Kconfig files,
>> we have to describe the "if ..." part correctly.
>> (otherwise, the dependencies between CONFIGs get broken.)
>>
>> We had already added the same dependencies in the common parts:
>>
>> config DM
>>         bool "Enable Driver Model"
>>         depends on !SPL_BUILD
>>
>>
>> config DM_SERIAL
>>         bool "Enable Driver Model for serial drivers"
>>         depends on DM
>>
>>
>>
>> Now, we are duplicating the same dependencies in each board-Kconfig.
>> This is not nice.
>>
>> I am very sorry, I have misguided you.
>> (What is worse, I can not suggest a good idea to solve this problem.)
>
> Yes it is unfortunate. However the problem of SPL not working for DM
> is only waiting on the removal of gdata. In fact I have a series which
> adds an #ifndef CONFIG_DM to the gdata and enables SPL for Tegra. I'll
> send it soon.
>
> So I think we can live with this for a while until we can remove the
> 'depends on !SPL_BUILD' everywhere. It does seem to work well
> enough...
>
> Regards,
> Simon

Applied to u-boot-dm.
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig
index a029379..2fe3232 100644
--- a/arch/arm/cpu/armv7/omap3/Kconfig
+++ b/arch/arm/cpu/armv7/omap3/Kconfig
@@ -93,6 +93,15 @@  config TARGET_TWISTER
 
 endchoice
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if DM && !SPL_BUILD
+
+config DM_SERIAL
+	default y if DM && !SPL_BUILD
+
 config SYS_SOC
 	default "omap3"
 
diff --git a/board/compulab/cm_t335/Kconfig b/board/compulab/cm_t335/Kconfig
index 683efde..aadbfbc 100644
--- a/board/compulab/cm_t335/Kconfig
+++ b/board/compulab/cm_t335/Kconfig
@@ -12,4 +12,13 @@  config SYS_SOC
 config SYS_CONFIG_NAME
 	default "cm_t335"
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if !SPL_BUILD
+
+config DM_SERIAL
+	default y if !SPL_BUILD
+
 endif
diff --git a/board/gumstix/pepper/Kconfig b/board/gumstix/pepper/Kconfig
index 6f94612..3099a9e 100644
--- a/board/gumstix/pepper/Kconfig
+++ b/board/gumstix/pepper/Kconfig
@@ -12,4 +12,13 @@  config SYS_SOC
 config SYS_CONFIG_NAME
 	default "pepper"
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if !SPL_BUILD
+
+config DM_SERIAL
+	default y if !SPL_BUILD
+
 endif
diff --git a/board/isee/igep0033/Kconfig b/board/isee/igep0033/Kconfig
index e989e4b..2fe2ef1 100644
--- a/board/isee/igep0033/Kconfig
+++ b/board/isee/igep0033/Kconfig
@@ -12,4 +12,13 @@  config SYS_SOC
 config SYS_CONFIG_NAME
 	default "am335x_igep0033"
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if !SPL_BUILD
+
+config DM_SERIAL
+	default y if !SPL_BUILD
+
 endif
diff --git a/board/phytec/pcm051/Kconfig b/board/phytec/pcm051/Kconfig
index 2cc0d88..65094cf 100644
--- a/board/phytec/pcm051/Kconfig
+++ b/board/phytec/pcm051/Kconfig
@@ -12,4 +12,13 @@  config SYS_SOC
 config SYS_CONFIG_NAME
 	default "pcm051"
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if !SPL_BUILD
+
+config DM_SERIAL
+	default y if !SPL_BUILD
+
 endif
diff --git a/board/silica/pengwyn/Kconfig b/board/silica/pengwyn/Kconfig
index f2e1098..6ecda80 100644
--- a/board/silica/pengwyn/Kconfig
+++ b/board/silica/pengwyn/Kconfig
@@ -12,4 +12,13 @@  config SYS_SOC
 config SYS_CONFIG_NAME
 	default "pengwyn"
 
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if !SPL_BUILD
+
+config DM_SERIAL
+	default y if !SPL_BUILD
+
 endif
diff --git a/board/ti/am335x/Kconfig b/board/ti/am335x/Kconfig
index 1ddbb2c..d6581ac 100644
--- a/board/ti/am335x/Kconfig
+++ b/board/ti/am335x/Kconfig
@@ -37,4 +37,14 @@  config NOR_BOOT
 	  booted via NOR.  In this case we will enable certain pinmux early
 	  as the ROM only partially sets up pinmux.  We also default to using
 	  NOR for environment.
+
+config DM
+	default y if !SPL_BUILD
+
+config DM_GPIO
+	default y if DM && !SPL_BUILD
+
+config DM_SERIAL
+	default y if DM && !SPL_BUILD
+
 endif
diff --git a/configs/am3517_crane_defconfig b/configs/am3517_crane_defconfig
index cf9d8c7..33b63c7 100644
--- a/configs/am3517_crane_defconfig
+++ b/configs/am3517_crane_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_AM3517_CRANE=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/am3517_evm_defconfig b/configs/am3517_evm_defconfig
index 2336f1e..7558b89 100644
--- a/configs/am3517_evm_defconfig
+++ b/configs/am3517_evm_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_AM3517_EVM=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/cm_t3517_defconfig b/configs/cm_t3517_defconfig
index 4000d2c..6eb37c0 100644
--- a/configs/cm_t3517_defconfig
+++ b/configs/cm_t3517_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=n
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_CM_T3517=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
index 2bb616f..84a6fb0 100644
--- a/configs/cm_t35_defconfig
+++ b/configs/cm_t35_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_CM_T35=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
index 578ae74..05a8700 100644
--- a/configs/devkit8000_defconfig
+++ b/configs/devkit8000_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_DEVKIT8000=y
+CONFIG_DM=y
+CONFIG_DM_SERIAL=y
+CONFIG_DM_GPIO=y
diff --git a/configs/dig297_defconfig b/configs/dig297_defconfig
index 95bc353..0d18290 100644
--- a/configs/dig297_defconfig
+++ b/configs/dig297_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_DIG297=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/eco5pk_defconfig b/configs/eco5pk_defconfig
index e45bdad..e07df8b 100644
--- a/configs/eco5pk_defconfig
+++ b/configs/eco5pk_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_ECO5PK=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/mcx_defconfig b/configs/mcx_defconfig
index c2031f8..6566d40 100644
--- a/configs/mcx_defconfig
+++ b/configs/mcx_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_MCX=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/mt_ventoux_defconfig b/configs/mt_ventoux_defconfig
index a0678bb..a4747c6 100644
--- a/configs/mt_ventoux_defconfig
+++ b/configs/mt_ventoux_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_MT_VENTOUX=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
index e03f586..20a51e1 100644
--- a/configs/nokia_rx51_defconfig
+++ b/configs/nokia_rx51_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_NOKIA_RX51=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
index a3e4c2c..5a2d20b 100644
--- a/configs/omap3_beagle_defconfig
+++ b/configs/omap3_beagle_defconfig
@@ -3,3 +3,6 @@  CONFIG_SYS_EXTRA_OPTIONS="NAND"
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_OMAP3_BEAGLE=y
+CONFIG_DM=y
+CONFIG_DM_GPIO=y
+CONFIG_DM_SERIAL=y
diff --git a/configs/omap3_evm_defconfig b/configs/omap3_evm_defconfig
index c749aa7..3bb1911 100644
--- a/configs/omap3_evm_defconfig
+++ b/configs/omap3_evm_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_OMAP3_EVM=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_evm_quick_mmc_defconfig b/configs/omap3_evm_quick_mmc_defconfig
index e89bb82..4e1471b 100644
--- a/configs/omap3_evm_quick_mmc_defconfig
+++ b/configs/omap3_evm_quick_mmc_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_OMAP3_EVM_QUICK_MMC=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_evm_quick_nand_defconfig b/configs/omap3_evm_quick_nand_defconfig
index e70fddd..f98672f 100644
--- a/configs/omap3_evm_quick_nand_defconfig
+++ b/configs/omap3_evm_quick_nand_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_OMAP3_EVM_QUICK_NAND=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
index 50bffa9..1a8b1b4 100644
--- a/configs/omap3_ha_defconfig
+++ b/configs/omap3_ha_defconfig
@@ -3,3 +3,6 @@  CONFIG_SYS_EXTRA_OPTIONS="SYS_BOARD_OMAP3_HA"
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_TAO3530=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
index 5f2c063..790ccba 100644
--- a/configs/omap3_logic_defconfig
+++ b/configs/omap3_logic_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_OMAP3_LOGIC=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_mvblx_defconfig b/configs/omap3_mvblx_defconfig
index fb6edc2..b75f513 100644
--- a/configs/omap3_mvblx_defconfig
+++ b/configs/omap3_mvblx_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_OMAP3_MVBLX=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
index bf28537..dd0f17c 100644
--- a/configs/omap3_pandora_defconfig
+++ b/configs/omap3_pandora_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_OMAP3_PANDORA=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/omap3_sdp3430_defconfig b/configs/omap3_sdp3430_defconfig
index 1172c2a..b3a8745 100644
--- a/configs/omap3_sdp3430_defconfig
+++ b/configs/omap3_sdp3430_defconfig
@@ -1,3 +1,6 @@ 
 CONFIG_ARM=y
 CONFIG_OMAP34XX=y
 CONFIG_TARGET_OMAP3_SDP3430=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
index a511389..39ed872 100644
--- a/configs/tao3530_defconfig
+++ b/configs/tao3530_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_TAO3530=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
index 7ea5e02..3efe829 100644
--- a/configs/tricorder_defconfig
+++ b/configs/tricorder_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_TRICORDER=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
index f6e1c46..8f999ff 100644
--- a/configs/tricorder_flash_defconfig
+++ b/configs/tricorder_flash_defconfig
@@ -3,3 +3,6 @@  CONFIG_SYS_EXTRA_OPTIONS="FLASHCARD"
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_TRICORDER=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/configs/twister_defconfig b/configs/twister_defconfig
index 9023736..d21a551 100644
--- a/configs/twister_defconfig
+++ b/configs/twister_defconfig
@@ -2,3 +2,6 @@  CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_OMAP34XX=y
 +S:CONFIG_TARGET_TWISTER=y
+CONFIG_DM=n
+CONFIG_DM_SERIAL=n
+CONFIG_DM_GPIO=n
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index 46fc91e..6e1f501 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -72,6 +72,7 @@ 
 #define CONFIG_UBI_SIZE			(512 << 10)
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + CONFIG_UBI_SIZE + \
 					(128 << 10))
+#define CONFIG_SYS_MALLOC_F_LEN		(1 << 10)
 
 /*
  * Hardware drivers
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 35332b5..4ce9d49 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -20,11 +20,6 @@ 
 #define CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC
 
 #ifndef CONFIG_SPL_BUILD
-#ifndef CONFIG_DM
-# define CONFIG_DM
-#endif
-# define CONFIG_DM_GPIO
-# define CONFIG_DM_SERIAL
 # define CONFIG_OMAP_SERIAL
 # define CONFIG_SYS_MALLOC_F_LEN	(1 << 10)
 #endif
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index 3c634ee..77211de 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -19,10 +19,6 @@ 
 #include <asm/arch/omap3.h>
 
 #ifndef CONFIG_SPL_BUILD
-# define CONFIG_DM
-# define CONFIG_CMD_DM
-# define CONFIG_DM_GPIO
-# define CONFIG_DM_SERIAL
 # define CONFIG_OMAP_SERIAL
 # define CONFIG_SYS_MALLOC_F_LEN	(1 << 10)
 #endif