[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56507611.8020008@linaro.org>
Date: Sat, 21 Nov 2015 13:48:01 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Stephen Boyd <sboyd@...eaurora.org>,
Maxime Ripard <maxime.ripard@...e-electrons.com>
CC: linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Rajendra Nayak <rnayak@...eaurora.org>,
Kevin Hilman <khilman@...aro.org>,
Tyler Baker <tyler.baker@...aro.org>,
Simon Arlott <simon@...e.lp0.eu>,
Mark Brown <broonie@...nel.org>
Subject: Re: [PATCH] nvmem: qfprom: Specify LE device endianness
Hi Stephen,
Thanks for the fix.
I will send it to Greg for next rc.
--srini
On 20/11/15 23:37, Stephen Boyd wrote:
> The qfprom is a little endian device, but so far we've been
> relying on the regmap mmio bus handling this for us without
> explicitly stating that fact. After commit 4a98da2164cf
> (regmap-mmio: Use native endianness for read/write, 2015-10-29),
> the regmap mmio bus will read/write with the __raw_*() IO
> accessors, instead of using the readl/writel() APIs that do
> proper byte swapping for little endian devices.
>
> So if we're running on a big endian processor and haven't
> specified the endianness explicitly in the regmap config or in
> DT, we're going to switch from doing little endian byte swapping
> to big endian accesses without byte swapping, leading to some
> confusing results. Specify the endianness explicitly so that the
> regmap core properly byte swaps the accesses for us.
>
> Cc: Rajendra Nayak <rnayak@...eaurora.org>
> Cc: Kevin Hilman <khilman@...aro.org>
> Cc: Tyler Baker <tyler.baker@...aro.org>
> Cc: Simon Arlott <simon@...e.lp0.eu>
> Cc: Mark Brown <broonie@...nel.org>
> Signed-off-by: Stephen Boyd <sboyd@...eaurora.org>
> ---
> drivers/nvmem/qfprom.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/nvmem/qfprom.c b/drivers/nvmem/qfprom.c
> index afb67e7eeee4..3829e5fbf8c3 100644
> --- a/drivers/nvmem/qfprom.c
> +++ b/drivers/nvmem/qfprom.c
> @@ -21,6 +21,7 @@ static struct regmap_config qfprom_regmap_config = {
> .reg_bits = 32,
> .val_bits = 8,
> .reg_stride = 1,
> + .val_format_endian = REGMAP_ENDIAN_LITTLE,
> };
>
> static struct nvmem_config econfig = {
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists