[U-Boot] [PATCH 1/5] Tegra2: Add bitfield access macros

Wolfgang Denk wd at denx.de
Tue Jun 7 08:28:09 CEST 2011


Dear Simon Glass,

In message <BANLkTimCGQbih16u7772-uKHb0bUyApbe14mNQ91zhqi1SS62w at 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: wd at denx.de
No one wants war.
	-- Kirk, "Errand of Mercy", stardate 3201.7


More information about the U-Boot mailing list