Dear Simon Glass, In message <banlktimcgqbih16u7772-ukhb0buyapbe14mnq91zhqi1ss...@mail.gmail.com> you wrote: > > 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.
Sorry, I fail to understand how you envision to use this, and how it would be different from clrsetbits*() ? 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 No one wants war. -- Kirk, "Errand of Mercy", stardate 3201.7 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot