[U-Boot] Common arch-specific header files for SOCs
Mike Frysinger
vapier at gentoo.org
Wed Aug 31 16:44:30 CEST 2011
On Wednesday, August 31, 2011 01:30:56 Simon Glass wrote:
> On Tue, Aug 30, 2011 at 9:36 PM, Mike Frysinger wrote:
> > On Tuesday, August 30, 2011 17:13:51 Simon Glass wrote:
> >> The arch/arm/include/asm/arch symlink needs to point to arch-tegra2 in
> >> my case, which is fine, but I also want to be able to include common
> >> files.
> >>
> >> #include <asm/arch/clock.h>
> >>
> >> This points to arch/arm/include/asm/arch-tegra2/clock.h but this would
> >> not be available from a tegra3 architecture, for example.
> >
> > $ cat arch/arm/include/asm/arch-tegra3/clock.h
> > #include <asm/arch-tegra2/clock.h>
> >
> >> Any other suggestions? It almost feels like we need an 'SOC family'
> >> field in boards.cfg (as distinct from SOC). Then we could perhaps have
> >> this work automatically.
> >
> > maybe create asm/arch-tegra/ for the common stuff and have the other
> > tegras include that for common stuff ?
>
> That sort-of works. My concern is when drivers start doing
>
> #include <asm/arch-tegra/clock.h>
>
> Doesn't that break the rule that architecture should be set at config
> time? Not that it matters much I suppose, since the only drivers
> including this file are architecture-specific.
the driver is broken then ? :)
easy to catch this ala bits/ C library headers:
arch-tegra2/clock.h:
#ifndef _ARCH_TEGRA_CLOCK_H_
#define _ARCH_TEGRA_CLOCK_H_
...
#include <asm/arch-tegra/clock.h>
...
#endif
arch-tegra3/clock.h:
#ifndef _ARCH_TEGRA_CLOCK_H_
#define _ARCH_TEGRA_CLOCK_H_
...
#include <asm/arch-tegra/clock.h>
...
#endif
asm/arch-tegra/clock.h:
#ifndef _ARCH_TEGRA_CLOCK_H_
# error "do not include this header directly"
#endif
#ifndef _ARCH_TEGRA_COMMON_CLOCK_H_
#define _ARCH_TEGRA_COMMON_CLOCK_H_
...
#endif
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20110831/af56dff4/attachment.pgp
More information about the U-Boot
mailing list