[U-Boot] [PATCH v9 12/16] regmap: Add endianness support

Simon Glass sjg at chromium.org
Tue Oct 2 11:21:57 UTC 2018


Hi Mario,

On 28 September 2018 at 00:27, Mario Six <mario.six at 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 at 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


More information about the U-Boot mailing list