Message ID | 1442574399-26131-1-git-send-email-andriy.shevchenko@linux.intel.com |
---|---|
State | Superseded |
Headers | show |
On 18/09/15 13:06, EXT Andy Shevchenko wrote: > There is a warning when compiling i2c-core.c > drivers/i2c/i2c-core.c:2561:36: warning: dubious: x | !y > > Fix it by using a plain bitwise AND since I2C_M_RD is a bit 0 and thus we are > on the safe side. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Alexander Sverdlin <aleaxander.sverdlin@nokia.com> > --- > drivers/i2c/i2c-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > index 5f89f1e..a732107 100644 > --- a/drivers/i2c/i2c-core.c > +++ b/drivers/i2c/i2c-core.c > @@ -2555,7 +2555,7 @@ static u8 i2c_smbus_pec(u8 crc, u8 *p, size_t count) > static u8 i2c_smbus_msg_pec(u8 pec, struct i2c_msg *msg) > { > /* The address will be sent first */ > - u8 addr = (msg->addr << 1) | !!(msg->flags & I2C_M_RD); > + u8 addr = (msg->addr << 1) | (msg->flags & I2C_M_RD); > pec = i2c_smbus_pec(pec, &addr, 1); > > /* The data buffer follows */
On Fri, 2015-09-18 at 14:06 +0300, Andy Shevchenko wrote: > There is a warning when compiling i2c-core.c > drivers/i2c/i2c-core.c:2561:36: warning: dubious: x | !y > > Fix it by using a plain bitwise AND since I2C_M_RD is a bit 0 and > thus we are > on the safe side. Wolfram, as of today I didn't see this in linux-next. Should I amend this one somehow? > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/i2c/i2c-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > index 5f89f1e..a732107 100644 > --- a/drivers/i2c/i2c-core.c > +++ b/drivers/i2c/i2c-core.c > @@ -2555,7 +2555,7 @@ static u8 i2c_smbus_pec(u8 crc, u8 *p, size_t > count) > static u8 i2c_smbus_msg_pec(u8 pec, struct i2c_msg *msg) > { > /* The address will be sent first */ > - u8 addr = (msg->addr << 1) | !!(msg->flags & I2C_M_RD); > + u8 addr = (msg->addr << 1) | (msg->flags & I2C_M_RD); > pec = i2c_smbus_pec(pec, &addr, 1); > > /* The data buffer follows */
On Thu, Oct 22, 2015 at 02:48:03PM +0300, Andy Shevchenko wrote: > On Fri, 2015-09-18 at 14:06 +0300, Andy Shevchenko wrote: > > There is a warning when compiling i2c-core.c > > drivers/i2c/i2c-core.c:2561:36: warning: dubious: x | !y > > > > Fix it by using a plain bitwise AND since I2C_M_RD is a bit 0 and > > thus we are > > on the safe side. > > Wolfram, as of today I didn't see this in linux-next. Should I amend > this one somehow? I am working on my own series, introducing a macro for this operation which can be used in drivers, too. Just need to fiddle a little more with my coccinelle scripts. Stay tuned! Thanks, Wolfram
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index 5f89f1e..a732107 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c @@ -2555,7 +2555,7 @@ static u8 i2c_smbus_pec(u8 crc, u8 *p, size_t count) static u8 i2c_smbus_msg_pec(u8 pec, struct i2c_msg *msg) { /* The address will be sent first */ - u8 addr = (msg->addr << 1) | !!(msg->flags & I2C_M_RD); + u8 addr = (msg->addr << 1) | (msg->flags & I2C_M_RD); pec = i2c_smbus_pec(pec, &addr, 1); /* The data buffer follows */
There is a warning when compiling i2c-core.c drivers/i2c/i2c-core.c:2561:36: warning: dubious: x | !y Fix it by using a plain bitwise AND since I2C_M_RD is a bit 0 and thus we are on the safe side. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/i2c/i2c-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)