mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
i2c: busses: Replace spin_lock_irqsave with spin_lock in hard IRQ
There is no need to do irqsave and irqrestore in context of hard IRQ. Signed-off-by: Weihang Li <liweihang@huawei.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
This commit is contained in:
@@ -160,12 +160,11 @@ static irqreturn_t dc_i2c_irq(int irq, void *dev_id)
|
|||||||
{
|
{
|
||||||
struct dc_i2c *i2c = dev_id;
|
struct dc_i2c *i2c = dev_id;
|
||||||
int cmd_status = dc_i2c_cmd_status(i2c);
|
int cmd_status = dc_i2c_cmd_status(i2c);
|
||||||
unsigned long flags;
|
|
||||||
u8 addr_cmd;
|
u8 addr_cmd;
|
||||||
|
|
||||||
writeb_relaxed(1, i2c->regs + II_INTFLAG_CLEAR);
|
writeb_relaxed(1, i2c->regs + II_INTFLAG_CLEAR);
|
||||||
|
|
||||||
spin_lock_irqsave(&i2c->lock, flags);
|
spin_lock(&i2c->lock);
|
||||||
|
|
||||||
if (cmd_status == II_CMD_STATUS_ACK_BAD
|
if (cmd_status == II_CMD_STATUS_ACK_BAD
|
||||||
|| cmd_status == II_CMD_STATUS_ABORT) {
|
|| cmd_status == II_CMD_STATUS_ABORT) {
|
||||||
@@ -207,7 +206,7 @@ static irqreturn_t dc_i2c_irq(int irq, void *dev_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
spin_unlock_irqrestore(&i2c->lock, flags);
|
spin_unlock(&i2c->lock);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -437,9 +437,8 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
|
|||||||
unsigned short intst;
|
unsigned short intst;
|
||||||
unsigned short intmsk;
|
unsigned short intmsk;
|
||||||
struct jz4780_i2c *i2c = dev_id;
|
struct jz4780_i2c *i2c = dev_id;
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&i2c->lock, flags);
|
spin_lock(&i2c->lock);
|
||||||
intmsk = jz4780_i2c_readw(i2c, JZ4780_I2C_INTM);
|
intmsk = jz4780_i2c_readw(i2c, JZ4780_I2C_INTM);
|
||||||
intst = jz4780_i2c_readw(i2c, JZ4780_I2C_INTST);
|
intst = jz4780_i2c_readw(i2c, JZ4780_I2C_INTST);
|
||||||
|
|
||||||
@@ -551,7 +550,7 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
spin_unlock_irqrestore(&i2c->lock, flags);
|
spin_unlock(&i2c->lock);
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user