[U-Boot] [PATCH v3 5/5] RFC: tegra: Convert to using environment files

Stephen Warren swarren at wwwdotorg.org
Mon Oct 28 21:41:06 CET 2013


On 10/28/2013 02:34 PM, Simon Glass wrote:
> Hi Stephen,
> 
> On Mon, Oct 28, 2013 at 1:59 PM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> On 10/25/2013 11:01 PM, Simon Glass wrote:
>>> This seems more intuitive that the current #define way of doing things.
>>> The resulting code is shorter, avoids the quoting and line continuation
>>> pain, and also improves the clumsy way that stdio variables are created:
>>>
>>>  #ifdef CONFIG_VIDEO_TEGRA
>>>  #define STDOUT_LCD ",lcd"
>>>  #else
>>>  #define STDOUT_LCD ""
>>>  #endif
>>>
>>> ...
>>>  #define TEGRA_DEVICE_SETTINGS \
>>>       "stdout=serial" STDOUT_LCD "\0" \
>>>       ...
>>>
>>> The MEM_LAYOUT_ENV_SETTINGS variable is left in the header files, since
>>> it depends on the SOC type and we probably don't want to add .emv files
>>> for each board at this stage.
>>
>> I guess I'm fine with this as long as e.g.
>> board/compulab/env/trimslice.env can contain:
>>
>> #include "../../../board/nvidia/env/common.env"
>>
>> ... or perhaps the include path is set up to include board/nvidia/env
>> already, so it could just contain:
>>
>> #include <common-nvidia.env>
>>
>>> diff --git a/board/nvidia/env/common.env b/board/nvidia/env/common.env
>>
>>> +bootcmd_mmc0=setenv devnum 0; run mmc_boot
>>> +bootcmd_mmc1=setenv devnum 1; run mmc_booxt
>>> +boot_targets+= mmc1 mmc0
>>
>> I still don't see why = needs no space before/after, but += needs no
>> space before, but a space after. That simply looks like a typo to me,
>> and I'd be inclined to fix it were I editing this file. If a sed script
>> can't handle more flexible white-space, perhaps use Python or perhaps
>> Perl instead?
> 
> The old code was similar, in that it had a space after the quote.
> 
> We need the string to contain "mmc0 mmc1 usb0 dhcp" or perhaps "mmc0
> mmc1". I chose to add a space at the start of each string, but
> certainly we need a space somewhere, or we get "mmc0mmc1usb0dhcp".

Oh, I see. I thought the space was part of the += syntax, not the value.
Perhaps to make that more obvious, you could allow:

# No space added to value
var+=value
var+= value
var +=value
var += value

var+=value1 value2
var+= value1 value2
var +=value1 value2
var += value1 value2

var+="value1 value2"
var+= "value1 value2"
var +="value1 value2"
var += "value1 value2"

# One space included at start of addition to value
var+=" value1 value2"
var+= " value1 value2"
var +=" value1 value2"
var += " value1 value2"



More information about the U-Boot mailing list