diff mbox

i2c-hid: explicitly cast parametrs to follow specifiers

Message ID 1372163081-11394-1-git-send-email-andriy.shevchenko@linux.intel.com (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show

Commit Message

Andy Shevchenko June 25, 2013, 12:24 p.m. UTC
The vendor and product parameters are defined as __u32, but used as short int.
Let's do an explicit casting for them.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/hid/i2c-hid/i2c-hid.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andy Shevchenko Aug. 6, 2013, 11:43 a.m. UTC | #1
On Tue, 2013-06-25 at 15:24 +0300, Andy Shevchenko wrote: 
> The vendor and product parameters are defined as __u32, but used as short int.
> Let's do an explicit casting for them.

Jiri, Benjamin, any comment on this?

> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/hid/i2c-hid/i2c-hid.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
> index 879b0ed..d595f2a 100644
> --- a/drivers/hid/i2c-hid/i2c-hid.c
> +++ b/drivers/hid/i2c-hid/i2c-hid.c
> @@ -1009,7 +1009,7 @@ static int i2c_hid_probe(struct i2c_client *client,
>  	hid->product = le16_to_cpu(ihid->hdesc.wProductID);
>  
>  	snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX",
> -		 client->name, hid->vendor, hid->product);
> +		 client->name, (short int)hid->vendor, (short int)hid->product);
>  
>  	ret = hid_add_device(hid);
>  	if (ret) {
Jiri Kosina Sept. 4, 2013, 11:17 a.m. UTC | #2
On Tue, 25 Jun 2013, Andy Shevchenko wrote:

> The vendor and product parameters are defined as __u32, but used as short int.
> Let's do an explicit casting for them.

Is this fixing any compiler warning you have seen?

> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/hid/i2c-hid/i2c-hid.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
> index 879b0ed..d595f2a 100644
> --- a/drivers/hid/i2c-hid/i2c-hid.c
> +++ b/drivers/hid/i2c-hid/i2c-hid.c
> @@ -1009,7 +1009,7 @@ static int i2c_hid_probe(struct i2c_client *client,
>  	hid->product = le16_to_cpu(ihid->hdesc.wProductID);
>  
>  	snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX",
> -		 client->name, hid->vendor, hid->product);
> +		 client->name, (short int)hid->vendor, (short int)hid->product);
>  
>  	ret = hid_add_device(hid);
>  	if (ret) {
> -- 
> 1.8.3.1
>
Andy Shevchenko Sept. 4, 2013, 11:51 a.m. UTC | #3
On Wed, 2013-09-04 at 13:17 +0200, Jiri Kosina wrote: 
> On Tue, 25 Jun 2013, Andy Shevchenko wrote:
> 
> > The vendor and product parameters are defined as __u32, but used as short int.
> > Let's do an explicit casting for them.
> 
> Is this fixing any compiler warning you have seen?

It was found by static analyzer.

> 
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > ---
> >  drivers/hid/i2c-hid/i2c-hid.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
> > index 879b0ed..d595f2a 100644
> > --- a/drivers/hid/i2c-hid/i2c-hid.c
> > +++ b/drivers/hid/i2c-hid/i2c-hid.c
> > @@ -1009,7 +1009,7 @@ static int i2c_hid_probe(struct i2c_client *client,
> >  	hid->product = le16_to_cpu(ihid->hdesc.wProductID);
> >  
> >  	snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX",
> > -		 client->name, hid->vendor, hid->product);
> > +		 client->name, (short int)hid->vendor, (short int)hid->product);

...and it's probably better to use (unsigned short int) if this patch is
going anywhere.

> >  
> >  	ret = hid_add_device(hid);
> >  	if (ret) {
> > -- 
> > 1.8.3.1
> > 
>
diff mbox

Patch

diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
index 879b0ed..d595f2a 100644
--- a/drivers/hid/i2c-hid/i2c-hid.c
+++ b/drivers/hid/i2c-hid/i2c-hid.c
@@ -1009,7 +1009,7 @@  static int i2c_hid_probe(struct i2c_client *client,
 	hid->product = le16_to_cpu(ihid->hdesc.wProductID);
 
 	snprintf(hid->name, sizeof(hid->name), "%s %04hX:%04hX",
-		 client->name, hid->vendor, hid->product);
+		 client->name, (short int)hid->vendor, (short int)hid->product);
 
 	ret = hid_add_device(hid);
 	if (ret) {