Skip to content

Commit

Permalink
i2c-bfin-twi: Remove useless twi_lock mutex
Browse files Browse the repository at this point in the history
Remove this unneeded mutex. Indeed it was used to serialize access to
the hardware, but this is already done by the i2c-core layer, see
'bus_lock' mutex used by i2c_transfer().

Signed-off-by: Francis Moreau <francis.moro@gmail.com>
Acked-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
  • Loading branch information
Francis Moreau authored and Jean Delvare committed Oct 13, 2007
1 parent e07bc67 commit 567a244
Showing 1 changed file with 0 additions and 16 deletions.
16 changes: 0 additions & 16 deletions drivers/i2c/busses/i2c-bfin-twi.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
#define TWI_I2C_MODE_COMBINED 0x04

struct bfin_twi_iface {
struct mutex twi_lock;
int irq;
spinlock_t lock;
char read_write;
Expand Down Expand Up @@ -228,12 +227,8 @@ static int bfin_twi_master_xfer(struct i2c_adapter *adap,
if (!(bfin_read_TWI_CONTROL() & TWI_ENA))
return -ENXIO;

mutex_lock(&iface->twi_lock);

while (bfin_read_TWI_MASTER_STAT() & BUSBUSY) {
mutex_unlock(&iface->twi_lock);
yield();
mutex_lock(&iface->twi_lock);
}

ret = 0;
Expand Down Expand Up @@ -310,9 +305,6 @@ static int bfin_twi_master_xfer(struct i2c_adapter *adap,
break;
}

/* Release mutex */
mutex_unlock(&iface->twi_lock);

return ret;
}

Expand All @@ -330,12 +322,8 @@ int bfin_twi_smbus_xfer(struct i2c_adapter *adap, u16 addr,
if (!(bfin_read_TWI_CONTROL() & TWI_ENA))
return -ENXIO;

mutex_lock(&iface->twi_lock);

while (bfin_read_TWI_MASTER_STAT() & BUSBUSY) {
mutex_unlock(&iface->twi_lock);
yield();
mutex_lock(&iface->twi_lock);
}

iface->writeNum = 0;
Expand Down Expand Up @@ -502,9 +490,6 @@ int bfin_twi_smbus_xfer(struct i2c_adapter *adap, u16 addr,

rc = (iface->result >= 0) ? 0 : -1;

/* Release mutex */
mutex_unlock(&iface->twi_lock);

return rc;
}

Expand Down Expand Up @@ -555,7 +540,6 @@ static int i2c_bfin_twi_probe(struct platform_device *dev)
struct i2c_adapter *p_adap;
int rc;

mutex_init(&(iface->twi_lock));
spin_lock_init(&(iface->lock));
init_completion(&(iface->complete));
iface->irq = IRQ_TWI;
Expand Down

0 comments on commit 567a244

Please sign in to comment.