linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
@ 2019-07-31 18:36 Harsh Jain
  2019-08-01 16:34 ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Harsh Jain @ 2019-07-31 18:36 UTC (permalink / raw)
  To: gregkh, devel, linux-kernel; +Cc: harshjain32

Bitwise OR(|) operation with 0 always yield same result.
It fixes dubious x | !y sparse warning.

Signed-off-by: Harsh Jain <harshjain32@gmail.com>
---
 drivers/staging/kpc2000/kpc2000_i2c.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c b/drivers/staging/kpc2000/kpc2000_i2c.c
index b108da4..5f027d7c 100644
--- a/drivers/staging/kpc2000/kpc2000_i2c.c
+++ b/drivers/staging/kpc2000/kpc2000_i2c.c
@@ -536,29 +536,15 @@ static u32 i801_func(struct i2c_adapter *adapter)
 
 	u32 f =
 		I2C_FUNC_I2C                     | /* 0x00000001 (I enabled this one) */
-		!I2C_FUNC_10BIT_ADDR             | /* 0x00000002 */
-		!I2C_FUNC_PROTOCOL_MANGLING      | /* 0x00000004 */
 		((priv->features & FEATURE_SMBUS_PEC) ? I2C_FUNC_SMBUS_PEC : 0) | /* 0x00000008 */
-		!I2C_FUNC_SMBUS_BLOCK_PROC_CALL  | /* 0x00008000 */
 		I2C_FUNC_SMBUS_QUICK             | /* 0x00010000 */
-		!I2C_FUNC_SMBUS_READ_BYTE        | /* 0x00020000 */
-		!I2C_FUNC_SMBUS_WRITE_BYTE       | /* 0x00040000 */
-		!I2C_FUNC_SMBUS_READ_BYTE_DATA   | /* 0x00080000 */
-		!I2C_FUNC_SMBUS_WRITE_BYTE_DATA  | /* 0x00100000 */
-		!I2C_FUNC_SMBUS_READ_WORD_DATA   | /* 0x00200000 */
-		!I2C_FUNC_SMBUS_WRITE_WORD_DATA  | /* 0x00400000 */
-		!I2C_FUNC_SMBUS_PROC_CALL        | /* 0x00800000 */
-		!I2C_FUNC_SMBUS_READ_BLOCK_DATA  | /* 0x01000000 */
-		!I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | /* 0x02000000 */
 		((priv->features & FEATURE_I2C_BLOCK_READ) ? I2C_FUNC_SMBUS_READ_I2C_BLOCK : 0) | /* 0x04000000 */
 		I2C_FUNC_SMBUS_WRITE_I2C_BLOCK   | /* 0x08000000 */
 
 		I2C_FUNC_SMBUS_BYTE              | /* _READ_BYTE  _WRITE_BYTE */
 		I2C_FUNC_SMBUS_BYTE_DATA         | /* _READ_BYTE_DATA  _WRITE_BYTE_DATA */
 		I2C_FUNC_SMBUS_WORD_DATA         | /* _READ_WORD_DATA  _WRITE_WORD_DATA */
-		I2C_FUNC_SMBUS_BLOCK_DATA        | /* _READ_BLOCK_DATA  _WRITE_BLOCK_DATA */
-		!I2C_FUNC_SMBUS_I2C_BLOCK        | /* _READ_I2C_BLOCK  _WRITE_I2C_BLOCK */
-		!I2C_FUNC_SMBUS_EMUL;              /* _QUICK  _BYTE  _BYTE_DATA  _WORD_DATA  _PROC_CALL  _WRITE_BLOCK_DATA  _I2C_BLOCK _PEC */
+		I2C_FUNC_SMBUS_BLOCK_DATA;	   /* _READ_BLOCK_DATA  _WRITE_BLOCK_DATA */
 	return f;
 }
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
  2019-07-31 18:36 [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning Harsh Jain
@ 2019-08-01 16:34 ` Greg KH
  2019-08-01 19:22   ` Matt Sickler
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2019-08-01 16:34 UTC (permalink / raw)
  To: Harsh Jain; +Cc: devel, linux-kernel

On Thu, Aug 01, 2019 at 12:06:06AM +0530, Harsh Jain wrote:
> Bitwise OR(|) operation with 0 always yield same result.
> It fixes dubious x | !y sparse warning.
> 
> Signed-off-by: Harsh Jain <harshjain32@gmail.com>
> ---
>  drivers/staging/kpc2000/kpc2000_i2c.c | 16 +---------------
>  1 file changed, 1 insertion(+), 15 deletions(-)
> 
> diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c b/drivers/staging/kpc2000/kpc2000_i2c.c
> index b108da4..5f027d7c 100644
> --- a/drivers/staging/kpc2000/kpc2000_i2c.c
> +++ b/drivers/staging/kpc2000/kpc2000_i2c.c
> @@ -536,29 +536,15 @@ static u32 i801_func(struct i2c_adapter *adapter)
>  
>  	u32 f =
>  		I2C_FUNC_I2C                     | /* 0x00000001 (I enabled this one) */
> -		!I2C_FUNC_10BIT_ADDR             | /* 0x00000002 */
> -		!I2C_FUNC_PROTOCOL_MANGLING      | /* 0x00000004 */
>  		((priv->features & FEATURE_SMBUS_PEC) ? I2C_FUNC_SMBUS_PEC : 0) | /* 0x00000008 */
> -		!I2C_FUNC_SMBUS_BLOCK_PROC_CALL  | /* 0x00008000 */
>  		I2C_FUNC_SMBUS_QUICK             | /* 0x00010000 */
> -		!I2C_FUNC_SMBUS_READ_BYTE        | /* 0x00020000 */
> -		!I2C_FUNC_SMBUS_WRITE_BYTE       | /* 0x00040000 */
> -		!I2C_FUNC_SMBUS_READ_BYTE_DATA   | /* 0x00080000 */
> -		!I2C_FUNC_SMBUS_WRITE_BYTE_DATA  | /* 0x00100000 */
> -		!I2C_FUNC_SMBUS_READ_WORD_DATA   | /* 0x00200000 */
> -		!I2C_FUNC_SMBUS_WRITE_WORD_DATA  | /* 0x00400000 */
> -		!I2C_FUNC_SMBUS_PROC_CALL        | /* 0x00800000 */
> -		!I2C_FUNC_SMBUS_READ_BLOCK_DATA  | /* 0x01000000 */
> -		!I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | /* 0x02000000 */

This is ok, it is showing you that these bits are explicitly being not
set.  Which is good, now you can go through the list and see that all
are accounted for.

So I think this should stay as-is, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
  2019-08-01 16:34 ` Greg KH
@ 2019-08-01 19:22   ` Matt Sickler
  2019-08-01 19:29     ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Matt Sickler @ 2019-08-01 19:22 UTC (permalink / raw)
  To: Greg KH, Harsh Jain; +Cc: devel, linux-kernel

>-----Original Message-----
>From: devel <driverdev-devel-bounces@linuxdriverproject.org> On Behalf Of Greg KH
>Sent: Thursday, August 01, 2019 11:35 AM
>To: Harsh Jain <harshjain32@gmail.com>
>Cc: devel@driverdev.osuosl.org; linux-kernel@vger.kernel.org
>Subject: Re: [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
>
>On Thu, Aug 01, 2019 at 12:06:06AM +0530, Harsh Jain wrote:
>> Bitwise OR(|) operation with 0 always yield same result.
>> It fixes dubious x | !y sparse warning.
>>
>> Signed-off-by: Harsh Jain <harshjain32@gmail.com>
>> ---
>>  drivers/staging/kpc2000/kpc2000_i2c.c | 16 +---------------
>>  1 file changed, 1 insertion(+), 15 deletions(-)
>>
>> diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c b/drivers/staging/kpc2000/kpc2000_i2c.c
>> index b108da4..5f027d7c 100644
>> --- a/drivers/staging/kpc2000/kpc2000_i2c.c
>> +++ b/drivers/staging/kpc2000/kpc2000_i2c.c
>> @@ -536,29 +536,15 @@ static u32 i801_func(struct i2c_adapter *adapter)
>>
>>       u32 f =
>>               I2C_FUNC_I2C                     | /* 0x00000001 (I enabled this one) */
>> -             !I2C_FUNC_10BIT_ADDR             | /* 0x00000002 */
>> -             !I2C_FUNC_PROTOCOL_MANGLING      | /* 0x00000004 */
>>               ((priv->features & FEATURE_SMBUS_PEC) ? I2C_FUNC_SMBUS_PEC : 0) | /* 0x00000008 */
>> -             !I2C_FUNC_SMBUS_BLOCK_PROC_CALL  | /* 0x00008000 */
>>               I2C_FUNC_SMBUS_QUICK             | /* 0x00010000 */
>> -             !I2C_FUNC_SMBUS_READ_BYTE        | /* 0x00020000 */
>> -             !I2C_FUNC_SMBUS_WRITE_BYTE       | /* 0x00040000 */
>> -             !I2C_FUNC_SMBUS_READ_BYTE_DATA   | /* 0x00080000 */
>> -             !I2C_FUNC_SMBUS_WRITE_BYTE_DATA  | /* 0x00100000 */
>> -             !I2C_FUNC_SMBUS_READ_WORD_DATA   | /* 0x00200000 */
>> -             !I2C_FUNC_SMBUS_WRITE_WORD_DATA  | /* 0x00400000 */
>> -             !I2C_FUNC_SMBUS_PROC_CALL        | /* 0x00800000 */
>> -             !I2C_FUNC_SMBUS_READ_BLOCK_DATA  | /* 0x01000000 */
>> -             !I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | /* 0x02000000 */
>
>This is ok, it is showing you that these bits are explicitly being not
>set.  Which is good, now you can go through the list and see that all
>are accounted for.
>
>So I think this should stay as-is, thanks.

I was going to say the same thing, but I didn't know what the kernel style guideline was.
Would Linus prefer this style or would commenting them out be preferred?
Seems like the sparse warnings means the current style is not acceptable?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
  2019-08-01 19:22   ` Matt Sickler
@ 2019-08-01 19:29     ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2019-08-01 19:29 UTC (permalink / raw)
  To: Matt Sickler; +Cc: Harsh Jain, devel, linux-kernel

On Thu, Aug 01, 2019 at 07:22:13PM +0000, Matt Sickler wrote:
> >-----Original Message-----
> >From: devel <driverdev-devel-bounces@linuxdriverproject.org> On Behalf Of Greg KH
> >Sent: Thursday, August 01, 2019 11:35 AM
> >To: Harsh Jain <harshjain32@gmail.com>
> >Cc: devel@driverdev.osuosl.org; linux-kernel@vger.kernel.org
> >Subject: Re: [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning
> >
> >On Thu, Aug 01, 2019 at 12:06:06AM +0530, Harsh Jain wrote:
> >> Bitwise OR(|) operation with 0 always yield same result.
> >> It fixes dubious x | !y sparse warning.
> >>
> >> Signed-off-by: Harsh Jain <harshjain32@gmail.com>
> >> ---
> >>  drivers/staging/kpc2000/kpc2000_i2c.c | 16 +---------------
> >>  1 file changed, 1 insertion(+), 15 deletions(-)
> >>
> >> diff --git a/drivers/staging/kpc2000/kpc2000_i2c.c b/drivers/staging/kpc2000/kpc2000_i2c.c
> >> index b108da4..5f027d7c 100644
> >> --- a/drivers/staging/kpc2000/kpc2000_i2c.c
> >> +++ b/drivers/staging/kpc2000/kpc2000_i2c.c
> >> @@ -536,29 +536,15 @@ static u32 i801_func(struct i2c_adapter *adapter)
> >>
> >>       u32 f =
> >>               I2C_FUNC_I2C                     | /* 0x00000001 (I enabled this one) */
> >> -             !I2C_FUNC_10BIT_ADDR             | /* 0x00000002 */
> >> -             !I2C_FUNC_PROTOCOL_MANGLING      | /* 0x00000004 */
> >>               ((priv->features & FEATURE_SMBUS_PEC) ? I2C_FUNC_SMBUS_PEC : 0) | /* 0x00000008 */
> >> -             !I2C_FUNC_SMBUS_BLOCK_PROC_CALL  | /* 0x00008000 */
> >>               I2C_FUNC_SMBUS_QUICK             | /* 0x00010000 */
> >> -             !I2C_FUNC_SMBUS_READ_BYTE        | /* 0x00020000 */
> >> -             !I2C_FUNC_SMBUS_WRITE_BYTE       | /* 0x00040000 */
> >> -             !I2C_FUNC_SMBUS_READ_BYTE_DATA   | /* 0x00080000 */
> >> -             !I2C_FUNC_SMBUS_WRITE_BYTE_DATA  | /* 0x00100000 */
> >> -             !I2C_FUNC_SMBUS_READ_WORD_DATA   | /* 0x00200000 */
> >> -             !I2C_FUNC_SMBUS_WRITE_WORD_DATA  | /* 0x00400000 */
> >> -             !I2C_FUNC_SMBUS_PROC_CALL        | /* 0x00800000 */
> >> -             !I2C_FUNC_SMBUS_READ_BLOCK_DATA  | /* 0x01000000 */
> >> -             !I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | /* 0x02000000 */
> >
> >This is ok, it is showing you that these bits are explicitly being not
> >set.  Which is good, now you can go through the list and see that all
> >are accounted for.
> >
> >So I think this should stay as-is, thanks.
> 
> I was going to say the same thing, but I didn't know what the kernel style guideline was.
> Would Linus prefer this style or would commenting them out be preferred?
> Seems like the sparse warnings means the current style is not acceptable?
> 

Sparse is just warning that you really are not doing anything here, in
case you think you are, as it's a common pattern for bugs.

So all should be fine, don't worry about it for now.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-08-01 19:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-31 18:36 [PATCH] staging:kpc2000:Fix dubious x | !y sparse warning Harsh Jain
2019-08-01 16:34 ` Greg KH
2019-08-01 19:22   ` Matt Sickler
2019-08-01 19:29     ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).