[U-Boot] [PATCH 2/3] dnet: driver for Dave DNET ethernet controller

Wolfgang Denk
2009-02-05T21:32:01Z

Dear Ilya Yanok,

In message <498A5F2F.1030603@emcraft.com> you wrote:
>
> > Please do not operate on base register plus magic offset - implement a
> > proper C structure instead to describe the controller hardware.
>
> I've done as you requested but I'm really in doubt why do you like it?
> In the kernel offsets are preferred over C structures... And there is

With "in the kernel" you probaly mean "in the ARM architecture code of
the kernel". Compare for example PowerPC...

> nothing magical in offsets actually... we usually have offsets in specs
> not C structures...

Just to name one reason (but a very important one): using a struct
allows for strict type checking by the compiler. If you use address +
offset you will not get any help from the compiler when you for
example read 8 bit from a register that must be accessed as a 32 bit
entity.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Q: How many DEC repairman does it take to fix a flat ?
A: Five; four to hold the car up and one to swap tires.