From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760491AbbKUNsH (ORCPT ); Sat, 21 Nov 2015 08:48:07 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:37642 "EHLO mail-wm0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751631AbbKUNsE (ORCPT ); Sat, 21 Nov 2015 08:48:04 -0500 Message-ID: <56507611.8020008@linaro.org> Date: Sat, 21 Nov 2015 13:48:01 +0000 From: Srinivas Kandagatla User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Stephen Boyd , Maxime Ripard CC: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Rajendra Nayak , Kevin Hilman , Tyler Baker , Simon Arlott , Mark Brown Subject: Re: [PATCH] nvmem: qfprom: Specify LE device endianness References: <1448062674-17969-1-git-send-email-sboyd@codeaurora.org> In-Reply-To: <1448062674-17969-1-git-send-email-sboyd@codeaurora.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > Cc: Kevin Hilman > Cc: Tyler Baker > Cc: Simon Arlott > Cc: Mark Brown > Signed-off-by: Stephen Boyd > --- > 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 = { >