Commit 55562449 authored by Tony Lindgren's avatar Tony Lindgren Committed by Mark Brown

regmap: Add missing little endian functions

This with the longer read and write masks allow supporting more
exotic devices. For example a little endian SPI device:

static const struct regmap_config foo_regmap_config = {
	.reg_bits = 16,
	.reg_stride = 4,
	.val_bits = 16,
	.write_flag_mask = 0x8000,
	.reg_format_endian = REGMAP_ENDIAN_LITTLE,
	.val_format_endian = REGMAP_ENDIAN_LITTLE,
	...
};
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f50e38c9
...@@ -749,6 +749,9 @@ struct regmap *__regmap_init(struct device *dev, ...@@ -749,6 +749,9 @@ struct regmap *__regmap_init(struct device *dev,
case REGMAP_ENDIAN_BIG: case REGMAP_ENDIAN_BIG:
map->format.format_reg = regmap_format_16_be; map->format.format_reg = regmap_format_16_be;
break; break;
case REGMAP_ENDIAN_LITTLE:
map->format.format_reg = regmap_format_16_le;
break;
case REGMAP_ENDIAN_NATIVE: case REGMAP_ENDIAN_NATIVE:
map->format.format_reg = regmap_format_16_native; map->format.format_reg = regmap_format_16_native;
break; break;
...@@ -768,6 +771,9 @@ struct regmap *__regmap_init(struct device *dev, ...@@ -768,6 +771,9 @@ struct regmap *__regmap_init(struct device *dev,
case REGMAP_ENDIAN_BIG: case REGMAP_ENDIAN_BIG:
map->format.format_reg = regmap_format_32_be; map->format.format_reg = regmap_format_32_be;
break; break;
case REGMAP_ENDIAN_LITTLE:
map->format.format_reg = regmap_format_32_le;
break;
case REGMAP_ENDIAN_NATIVE: case REGMAP_ENDIAN_NATIVE:
map->format.format_reg = regmap_format_32_native; map->format.format_reg = regmap_format_32_native;
break; break;
...@@ -782,6 +788,9 @@ struct regmap *__regmap_init(struct device *dev, ...@@ -782,6 +788,9 @@ struct regmap *__regmap_init(struct device *dev,
case REGMAP_ENDIAN_BIG: case REGMAP_ENDIAN_BIG:
map->format.format_reg = regmap_format_64_be; map->format.format_reg = regmap_format_64_be;
break; break;
case REGMAP_ENDIAN_LITTLE:
map->format.format_reg = regmap_format_64_le;
break;
case REGMAP_ENDIAN_NATIVE: case REGMAP_ENDIAN_NATIVE:
map->format.format_reg = regmap_format_64_native; map->format.format_reg = regmap_format_64_native;
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment