[U-Boot] [PATCH] sunxi: allow CONFIG_DEFAULT_FDT_FILE override

klaus.goger at theobroma-systems.com klaus.goger at theobroma-systems.com
Thu May 31 19:58:00 UTC 2018



> On 31.05.2018, at 21:48, Martin Kelly <mkelly at xevo.com> wrote:
> 
> On 05/31/2018 11:15 AM, klaus.goger at theobroma-systems.com wrote:
>> Hi Martin,
>>> On 31.05.2018, at 19:49, Martin Kelly <mkelly at xevo.com> wrote:
>>> 
>>> On 05/23/2018 11:34 AM, Martin Kelly wrote:
>>>> On 05/17/2018 05:01 AM, Maxime Ripard wrote:
>>>>> On Tue, May 01, 2018 at 05:46:41PM -0700, Martin Kelly wrote:
>>>>>> Currently, sunxi-common.h ignores CONFIG_DEFAULT_FDT_FILE and assumes
>>>>>> the kernel fdtfile and the u-boot devicetree names are the same.
>>>>>> Although this is typically the case, sometimes you might want to
>>>>>> customize one of these differently, so it's useful to allow them to be
>>>>>> different.
>>>>>> 
>>>>>> Add logic in sunxi-common.h to respect CONFIG_DEFAULT_FDT_FILE, if set,
>>>>>> and default to the values it currently uses.
>>>>>> 
>>>>>> Signed-off-by: Martin Kelly <mkelly at xevo.com>
>>>>> 
>>>>> Acked-by: Maxime Ripard <maxime.ripard at bootlin.com>
>>>>> 
>>>>> Maxime
>>>>> 
>>>> (ping)
>>> 
>>> (ping again)
>>> 
>>> Can we get this patch merged?
>> The else branch will never be selected.
>> CONFIG_DEFAULT_FDT_FILE will be set to “” if not set by your defconfig.
> 
> Thanks for noticing this; unfortunately you are right. I thought I tested this, but it was in the context of a larger build and I missed it.
> 
> It looks like we have two options:
> 
> (a) Test for empty string in preprocessor language. This is quite ugly and has some gotchas but should be doable (e.g. https://stackoverflow.com/questions/3781520/how-to-test-if-preprocessor-symbol-is-defined-but-has-no-value).
> 
> (b) Always use the value of CONFIG_DEFAULT_FDT_FILE and stop using CONFIG_DEFAULT_DEVICE_TREE as a default. In each board file, explicitly set CONFIG_DEFAULT_FDT_FILE to its current default. This is what other boards are doing.
> 
> I favor (b). If others are in favor, I'll submit a patch for it.

I run into the same issue for the rockchip architecture[1]. After giving up on finding a 
rock-solid solution for detecting the emtpy string I decided to go with your option (b).
Another solution would be to hide CONFIG_DEFAULT_DEVICE_TREE behind a 
Kconfig bool so it would not be defined until something like CONFIG_FDT_FILE is 
selected. But in favour of having U-Boot devicetree decoupled from any OS fdt I 
still prefer option (b).

[1] https://patchwork.ozlabs.org/patch/920785/




More information about the U-Boot mailing list