
Hi Mario,
On 28 September 2018 at 00:27, Mario Six mario.six@gdsys.cc wrote:
Add support for switching the endianness of regmap accesses via the "little-endian", "big-endian", and "native-endian" boolean properties in the device tree.
The default endianness is native endianness.
Signed-off-by: Mario Six mario.six@gdsys.cc
v8 -> v9: New in v9
drivers/core/regmap.c | 130 ++++++++++++++++++++++++++++++++++++++++++++++---- include/regmap.h | 14 ++++++ 2 files changed, 136 insertions(+), 8 deletions(-)
diff --git a/drivers/core/regmap.c b/drivers/core/regmap.c index 761dc535ed8..da2a1d0b883 100644 --- a/drivers/core/regmap.c +++ b/drivers/core/regmap.c
[...]
int regmap_raw_read_range(struct regmap *map, uint range_num, uint offset, void *valp, size_t val_len) { @@ -210,17 +268,17 @@ int regmap_raw_read_range(struct regmap *map, uint range_num, uint offset,
switch (val_len) { case REGMAP_SIZE_8:
*((u8 *)valp) = in_8((u8 *)ptr);
*((u8 *)valp) = __read_8(ptr, map->endianness);
How come this is changing from in to read? They are not equivalent on x86. I think it should be using read, so this is correct, but I'm not sure why it what apparently previously changed to 'in'?
Regards, Simon