[U-Boot] Refactoring of U-Boot directory structure

Simon Glass sjg at chromium.org
Mon Jul 28 05:26:32 CEST 2014


Hi Masahiro,

On 12 June 2014 05:10, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
> Hi.
>
> In U-Boot, the directory structure under arch/ is like this
> arch/${ARCH}/cpu/${CPU}/${SOC}
>
>   Exception:
>     - ${CPU} is missing for some architectures such as blackfin, sandbox, etc.
>     - There are many boards without ${SOC}
>
>
> My question is, ${SOC} should always depend on ${CPU} ?
>
> I think it is reasonable to migrate to the structure like this:
>
>      arch/${ARCH}/cpu/${CPU}
>                           /mach-${foo}
>                           /mach-${bar}
>
> I think  arch/${ARCH}/cpu/${CPU}/${SOC}  structure
> have given us a lot of pain.
>
>
> The problems I want to solve are:
>
>
> [1] Do not split the similar  SoC family to various directories
>
> at91 SoC directory exists under arm920t, arm926ejs, armv7 directory.
>
> ./arch/arm/cpu/arm920t/at91
> ./arch/arm/cpu/arm926ejs/at91
> ./arch/arm/cpu/armv7/at91
>
> It looks reasonable to collect at91 sources into a single place,
> arch/arm/mach-at91

This does make it clear that the chips are in a single family. We can
have different files for the chip-specific stuff such as low-level
code. But this approach makes it easier to use common code I think.

>
>
> [2] Collect C/ASM sources and headers into a single place
>
> Now SoC-specific sources are under
> ./arch/${ARCH}/cpu/${CPU}/${SOC}/
>
> But headers are
> ./arch/${ARCH}/include/asm/arch-${SOC}/
>
> In the new structure,
> ./arch/arm/mach-${SOC}/                      : C/ASM files
> ./arch/arm/mach-${SOC}/include/          : Header files

This seems better to me.

>
>
> [3] Do not create a symbolic link to header dicrectory
>
> mkconfig creates a symbolic link to
> arch/asm/include/asm/arch-${SOC}
>
> I dislike creating a symbolic link by configuration
> and remove it by mrproper.
>
> Linux Kernel did that long time ago, but they did away with it.

OK

Regards,
Simon


More information about the U-Boot mailing list