[U-Boot] [PATCH 2/6] add a generic set of configs to enable Distros to more easier support u-boot based systems

Stephen Warren swarren at wwwdotorg.org
Thu Jan 16 21:43:59 CET 2014


On 12/17/2013 12:16 AM, Dennis Gilmore wrote:

> diff --git a/include/common.h b/include/common.h

>  #include <flash.h>
>  #include <image.h>
>  
> +/* use generic distro config */
> +#ifdef DISTRO_DEFAULTS
> +#include <config_distro_default.h>
> +#endif

There is another issue with including this header at this location:

This include is pretty late in <common.h>. In particular, <part.h> is
included before this point, and only prototypes some functions such as
test_part_dos() if the relevant config option is enabled.

I want to simplify all the Tegra config headers and remove any options
that are also set by <config_distro_default.h>. However, if I do this,
then e.g. CONFIG_DOS_PARTITION isn't set when <part.h> is included, and
the build breaks.

One could probably move the include of <config_distro_default.h> very
near the top of <common.h>, i.e. just after the include of <config.h>.
However, this still doesn't solve all problems, since <config.h> itself
(which is an auto-generated file) includes <config_fallbacks.h>, which
is where e.g. CONFIG_FS_FAT gets auto-enabled if CONFIG_CMD_FAT is
enabled. This can cause the build to break since the makefiles don't
know to link in the FAT fs code.

I'd like to propose that instead of board config files doing:

#define DISTRO_DEFAULTS

They simply do:

#include <distro_defaults.h>

That way, there's nothing unusual about the handling of this header
file; it's just some common location that sets up some common values,
and the control flow of all the includes doesn't look any different to
the tools that process the board config header file.

Would you like me to post revised versions of your patches to show what
I mean?


More information about the U-Boot mailing list