All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yong Li <sdliyong@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-gpio@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>,
	Phil Reid <preid@electromag.com.au>
Subject: Re: [PATCH v1 1/1] gpio: pca953x: enfore type for i2c_smbus_write_word_data()
Date: Wed, 1 Jun 2016 12:44:53 +0800	[thread overview]
Message-ID: <CADO9-pd60y8u7fQ-thBfpKr58t-=i2D9gyW-PWcz1_CyvgOFsA@mail.gmail.com> (raw)
In-Reply-To: <1464721423-10969-1-git-send-email-andriy.shevchenko@linux.intel.com>

Hi Andy,

Could you let me know which build system you are using? I am using
Ubuntu 1604(64 bit) to build the kernel source, but I did not find the
warning.

Thanks,
Yong

2016-06-01 3:03 GMT+08:00 Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
> The commit 9b8e3ec34318 ("gpio: pca953x: Use correct u16 value for register
> word write") fixed regression in pca953x_write_regs(). At the same time the
> solution introduced a sparse warning:
>
> drivers/gpio/gpio-pca953x.c:168:39: warning: incorrect type in argument 3 (different base types)
> drivers/gpio/gpio-pca953x.c:168:39:    expected unsigned short [unsigned] [usertype] value
> drivers/gpio/gpio-pca953x.c:168:39:    got restricted __le16 [usertype] <noident>
>
> Fix the code by enforcing the type of i2c_smbus_write_word_data() parameter.
>
> Cc: Yong Li <sdliyong@gmail.com>
> Cc: Phil Reid <preid@electromag.com.au>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/gpio/gpio-pca953x.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
> index d8233be..21b21cd 100644
> --- a/drivers/gpio/gpio-pca953x.c
> +++ b/drivers/gpio/gpio-pca953x.c
> @@ -163,10 +163,13 @@ static int pca953x_write_regs(struct pca953x_chip *chip, int reg, u8 *val)
>                                         NBANK(chip), val);
>         } else {
>                 switch (chip->chip_type) {
> -               case PCA953X_TYPE:
> -                       ret = i2c_smbus_write_word_data(chip->client,
> -                           reg << 1, cpu_to_le16(get_unaligned((u16 *)val)));
> +               case PCA953X_TYPE: {
> +                       __le16 word = cpu_to_le16(get_unaligned((u16 *)val));
> +
> +                       ret = i2c_smbus_write_word_data(chip->client, reg << 1,
> +                                                       (__force u16)word);
>                         break;
> +               }
>                 case PCA957X_TYPE:
>                         ret = i2c_smbus_write_byte_data(chip->client, reg << 1,
>                                                         val[0]);
> --
> 2.8.1
>

  reply	other threads:[~2016-06-01  4:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-31 19:03 [PATCH v1 1/1] gpio: pca953x: enfore type for i2c_smbus_write_word_data() Andy Shevchenko
2016-06-01  4:44 ` Yong Li [this message]
2016-06-01 12:35   ` Andy Shevchenko
2016-06-01 15:19     ` Yong Li
2016-06-02 14:43       ` Andy Shevchenko
2016-06-08  8:03         ` Linus Walleij
2016-06-08  9:06           ` Andy Shevchenko
2016-06-08  8:03 ` Linus Walleij

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='CADO9-pd60y8u7fQ-thBfpKr58t-=i2D9gyW-PWcz1_CyvgOFsA@mail.gmail.com' \
    --to=sdliyong@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=preid@electromag.com.au \
    /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.