[U-Boot] [PATCH 01/10] mx27: basic cpu support
Magnus Lilja
lilja.magnus at gmail.com
Mon May 18 18:59:18 CEST 2009
Dear Wolfgang,
2009/5/14 Wolfgang Denk <wd at denx.de>:
>> I see. PowerPC in Linux uses C structs too. But there are still a lot of
>> code that uses registers offsets in Linux, so my arguments are the same:
>> requirement to convert offsets to C struct brings additional
>> difficulties to porting (and maintaining already ported) drivers from Linux.
>
> I understand your argument, but the decision has been made. We want to
> get rid of this pointer stuff in U-Boot, and do not accept any new
> code like this any more.
After having browsed some powerpc code I can find two different ways
the struct-thing is used:
Variant A, all members declared volatile:
struct controller_reg {
volatile uint32_t reg1;
volatile uint32_t reg2;
}
struct controller_reg *controller = 0xCAFE0000;
Or variant B:
struct controller_reg {
uint32_t reg1;
uint32_t reg2;
}
volatile struct controller_reg *controller = 0xCAFE0000;
Also, is it OK to access the registers using reg = controller->reg1 or
should we use reg = readl(&controller->reg1)?
I ask this since I don't want to iterate the patches on the mailing
list too many times...
Regards, Magnus
More information about the U-Boot
mailing list