All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	linux-gpio@vger.kernel.org,
	Sebastian Reichel <sebastian.reichel@collabora.co.uk>,
	Yong Li <sdliyong@gmail.com>, Phil Reid <preid@electromag.com.au>
Subject: Re: [PATCH v2] gpio: pca953x: remove incorrect le16_to_cpu calls
Date: Wed, 19 Jul 2017 15:14:52 +0300	[thread overview]
Message-ID: <1500466492.29303.112.camel@linux.intel.com> (raw)
In-Reply-To: <871spc7i7v.fsf@free-electrons.com>

On Wed, 2017-07-19 at 13:56 +0200, Gregory CLEMENT wrote:
> Hi Andy,
>  
>  On mar., juil. 18 2017, Andy Shevchenko <andriy.shevchenko@linux.inte
> l.com> wrote:
> 
> > i2c_smbus commands handle the correct byte order for smbus
> > transactions
> 
> I am not sure of this claim, I didn't find any cpu_to_lexx in the
> sbmus
> function.

Of course you didn't (I didn't either on the first glance, then I read
the code more carefully).

It does that byte-by-byte.

That explains why people do not notice it AFAIU Sebastian's claim.

> 
> > internally. This will currently result in incorrect operation on big
> > endian systems.
> 
> Did you managed to test this driver in a big endian system and to
> check
> that with this patch the driver worked as expected?

Unfortunately no. I have big endian systems, though I have no such
device connected to them.

> 
> Thanks,
> 
> Gregory
> 
> 
> > 
> > Suggested-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> > Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> > - add RB tag
> >  drivers/gpio/gpio-pca953x.c | 8 +++-----
> >  1 file changed, 3 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-
> > pca953x.c
> > index 4c9e21300a26..1b9dbf691ae7 100644
> > --- a/drivers/gpio/gpio-pca953x.c
> > +++ b/drivers/gpio/gpio-pca953x.c
> > @@ -187,10 +187,9 @@ static int pca953x_write_regs_8(struct
> > pca953x_chip *chip, int reg, u8 *val)
> >  
> >  static int pca953x_write_regs_16(struct pca953x_chip *chip, int
> > reg, u8 *val)
> >  {
> > -	__le16 word = cpu_to_le16(get_unaligned((u16 *)val));
> > +	u16 word = get_unaligned((u16 *)val);
> >  
> > -	return i2c_smbus_write_word_data(chip->client,
> > -					 reg << 1, (__force
> > u16)word);
> > +	return i2c_smbus_write_word_data(chip->client, reg << 1,
> > word);
> >  }
> >  
> >  static int pca957x_write_regs_16(struct pca953x_chip *chip, int
> > reg, u8 *val)
> > @@ -241,8 +240,7 @@ static int pca953x_read_regs_16(struct
> > pca953x_chip *chip, int reg, u8 *val)
> >  	int ret;
> >  
> >  	ret = i2c_smbus_read_word_data(chip->client, reg << 1);
> > -	val[0] = (u16)ret & 0xFF;
> > -	val[1] = (u16)ret >> 8;
> > +	put_unaligned(ret, (u16 *)val);
> >  
> >  	return ret;
> >  }
> > -- 
> > 2.11.0
> > 
> 
> 

-- 
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy

  reply	other threads:[~2017-07-19 12:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-18 15:51 [PATCH v2] gpio: pca953x: remove incorrect le16_to_cpu calls Andy Shevchenko
2017-07-19 11:56 ` Gregory CLEMENT
2017-07-19 12:14   ` Andy Shevchenko [this message]
2017-07-19 13:39   ` Phil Reid

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1500466492.29303.112.camel@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=preid@electromag.com.au \
    --cc=sdliyong@gmail.com \
    --cc=sebastian.reichel@collabora.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.