On Wed, Apr 04, 2012 at 05:15:42PM -0600, Stephen Warren wrote: > I assume the solution here is to: > * Always use __raw_readl/__raw_writel in regmap-mmio.c so that there's > never any endianness conversion, and don't use the endianness conversion > macros when reading/writing the work buffer. > * Implement alternative formatters that format in LE instead of BE > * Add a field to regmap_config indicating which endianness the data > should be in, and use this flag to select the LE/BE formatters. > Does that sound about right? Sounds about right, yes - probably worth having a third option for the formatting which does no translation for on-SoC device. > > Given that you constrain on registration too this should be BUG_ON(), > > we're seriously confused if we're specifying a different register size > > here and -EIO is going to be a bit obscure. > I wondered about that. I would have been quite happy to repost with that > change. Do you want an incremental patch? Yes, please.