[U-Boot] [U-Boot, 1/2] spl: Move check for SPL_LIBCOMMON support to header

Andrew F. Davis afd at ti.com
Fri Jan 20 17:38:41 CET 2017


On 01/20/2017 10:25 AM, Tom Rini wrote:
> On Fri, Jan 06, 2017 at 01:35:44PM -0600, Andrew F. Davis wrote:
> 
>> Print statements in SPL depend on lib/common support, so many such
>> statements are ifdef'd, move the check to the common.h header and
>> remove these inline checks.
>>
>> Signed-off-by: Andrew F. Davis <afd at ti.com>
>> Reviewed-by: Tom Rini <trini at konsulko.com>
> 
> This patch is a good example of why travis-ci is useful, even if takes a
> few hours for the cycle to complete (kick it off and check the results
> in the morning :)).  As is, it's broken on PowerPC (where
> CONFIG_SPL_INIT_MINIMAL is the conditional for puts/printf/etc), mx31pdk
> and evb-rk3036 (and this is an incomplete list).  The ARM targets are
> harder to just fix as it shows an underlying problem.  Today we have no
> single symbol that means "In SPL I want serial output" (and ditto TPL).
> We try and rely on SPL_SERIAL_SUPPORT but this misses the case where we
> use neither TINY_PRINTF nor LIBCOMMON but instead have only puts
> available in a more raw way.  So before we can make the type of change
> you're doing here we need to introduce a symbol that means "I have
> output".  That will also greatly reduce the logic needed in the tests in
> common.h for having puts/etc be real or do-while loops.  Thanks!
> 

Ahh, I was expecting something like this happening with all the levels
of ifdef logic involved. Could we keep this patch and add
CONFIG_SPL_INIT_MINIMAL to the check in common.h?

Removing all these various ifdefs from files is still correct, all this
ifdef logic should *not* be around calls to puts/etc in-line in the
code, all we need is to figure out the logic for the function's
definitions in common.h, which can be cleaned up in a later patch.

Andrew


More information about the U-Boot mailing list