aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2008-10-30 15:55:47 +0100
committerJean Delvare <khali@linux-fr.org>2008-10-30 15:55:47 +0100
commitda6801e38b7fba28fbdc0ceae6681d5a261a42a6 (patch)
tree3a04ba9e00486ecc8490f86ef0ff9d2468d2eb2b /drivers/i2c
parent846557d3ceb6c7493e090921db5d6158ec237228 (diff)
downloadkernel_samsung_smdk4412-da6801e38b7fba28fbdc0ceae6681d5a261a42a6.tar.gz
kernel_samsung_smdk4412-da6801e38b7fba28fbdc0ceae6681d5a261a42a6.tar.bz2
kernel_samsung_smdk4412-da6801e38b7fba28fbdc0ceae6681d5a261a42a6.zip
i2c-s3c2410: Correct use of ! and &
In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. In particular, the result of !readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN is always 0. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-s3c2410.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index c772e02c280..1fac4e23313 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -507,7 +507,7 @@ static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, struct i2c_msg *msgs, int
unsigned long timeout;
int ret;
- if (!readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN)
+ if (!(readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN))
return -EIO;
ret = s3c24xx_i2c_set_master(i2c);