i2c: busses: Replace spin_lock_irqsave with spin_lock in hard IRQ
authorWeihang Li <liweihang@huawei.com>
Mon, 8 Feb 2021 10:48:37 +0000 (18:48 +0800)
committerWolfram Sang <wsa@kernel.org>
Fri, 12 Feb 2021 07:21:57 +0000 (08:21 +0100)
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>
drivers/i2c/busses/i2c-digicolor.c
drivers/i2c/busses/i2c-jz4780.c

index f67639d..60c838c 100644 (file)
@@ -160,12 +160,11 @@ static irqreturn_t dc_i2c_irq(int irq, void *dev_id)
 {
        struct dc_i2c *i2c = dev_id;
        int cmd_status = dc_i2c_cmd_status(i2c);
-       unsigned long flags;
        u8 addr_cmd;
 
        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
            || cmd_status == II_CMD_STATUS_ABORT) {
@@ -207,7 +206,7 @@ static irqreturn_t dc_i2c_irq(int irq, void *dev_id)
        }
 
 out:
-       spin_unlock_irqrestore(&i2c->lock, flags);
+       spin_unlock(&i2c->lock);
        return IRQ_HANDLED;
 }
 
index cb4a25e..8509c5f 100644 (file)
@@ -437,9 +437,8 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
        unsigned short intst;
        unsigned short intmsk;
        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);
        intst = jz4780_i2c_readw(i2c, JZ4780_I2C_INTST);
 
@@ -551,7 +550,7 @@ static irqreturn_t jz4780_i2c_irq(int irqno, void *dev_id)
        }
 
 done:
-       spin_unlock_irqrestore(&i2c->lock, flags);
+       spin_unlock(&i2c->lock);
        return IRQ_HANDLED;
 }