On Mon, Jun 6, 2011 at 11:50 AM, Wolfgang Denk <w...@denx.de> wrote: > Dear Simon Glass, > [big snip]
Hi Wolfgang, OK I understand, thank you. How about this approach: we could add a new macro to io.h, something like: #define clrsetfield_le32(bitfield, addr, value) ... Then caller can define these in a header file: #define FIELD_MASK 0xf0000 #define FIELD_SHIFT 16 And use this macro to set the bitfield to 6, for example: clrsetfield_le32(FIELD, &my_device->ctrl, 6) (this will simply shift the value left 16 bits and apply the supplied mask) This captures the essence of bitfields, in that we are abstracting the field under a single name. The change would just add this macro to the io.h header file. Does this sound better? Regards, Simon > > 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: w...@denx.de > It is impractical for the standard to attempt to constrain the > behavior of code that does not obey the constraints of the standard. > - Doug Gwyn > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot