regmap: implement LE formatting/parsing for 16/32-bit values.
authorXiubo Li <Li.Xiubo@freescale.com>
Wed, 2 Apr 2014 10:09:07 +0000 (18:09 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 14 Apr 2014 15:58:15 +0000 (16:58 +0100)
commit4aa8c0694c731e03eb660b92a3afe14859142381
treeb8289710b9f9190acbddd6e9fdfb9f76b80529f8
parentc9eaa447e77efe77b7fa4c953bd62de8297fd6c5
regmap: implement LE formatting/parsing for 16/32-bit values.

Allow busses to request little endianness formatting and
parsing for 16- and 32-bit values. This will be useful to
support regmap-mmio.

For the following the scenarios using the regmap-mmio,
for example:

Index    CPU       Device     Endianess flag for values
----------------------------------------------------------
1        LE        LE         REGMAP_ENDIAN_DEFAULT/NATIVE
2        LE        BE         REGMAP_ENDIAN_BIG
3        BE        BE         REGMAP_ENDIAN_DEFAULT/NATIVE
4        BE        LE         REGMAP_ENDIAN_LITTLE

For one device driver, which will support all the cases above,
needs two boolean properties in DT node like: 'big-endian'
for case 2 and 'little-endian' for case 4, and for cases 1
and 3 they all will be absent.

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/base/regmap/regmap.c