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

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to