forked from Minki/linux
rtc: pm8xxx: Replace spin_lock_irqsave with spin_lock in hard IRQ
It is redundant to do irqsave and irqrestore in hardIRQ context, where it has been in a irq-disabled context. Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/1612355981-6764-3-git-send-email-tanxiaofei@huawei.com
This commit is contained in:
parent
6950d046eb
commit
5131797556
@ -352,16 +352,15 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
|
||||
const struct pm8xxx_rtc_regs *regs = rtc_dd->regs;
|
||||
unsigned int ctrl_reg;
|
||||
int rc;
|
||||
unsigned long irq_flags;
|
||||
|
||||
rtc_update_irq(rtc_dd->rtc, 1, RTC_IRQF | RTC_AF);
|
||||
|
||||
spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||
spin_lock(&rtc_dd->ctrl_reg_lock);
|
||||
|
||||
/* Clear the alarm enable bit */
|
||||
rc = regmap_read(rtc_dd->regmap, regs->alarm_ctrl, &ctrl_reg);
|
||||
if (rc) {
|
||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||
spin_unlock(&rtc_dd->ctrl_reg_lock);
|
||||
goto rtc_alarm_handled;
|
||||
}
|
||||
|
||||
@ -369,13 +368,13 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
|
||||
|
||||
rc = regmap_write(rtc_dd->regmap, regs->alarm_ctrl, ctrl_reg);
|
||||
if (rc) {
|
||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||
spin_unlock(&rtc_dd->ctrl_reg_lock);
|
||||
dev_err(rtc_dd->rtc_dev,
|
||||
"Write to alarm control register failed\n");
|
||||
goto rtc_alarm_handled;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||
spin_unlock(&rtc_dd->ctrl_reg_lock);
|
||||
|
||||
/* Clear RTC alarm register */
|
||||
rc = regmap_read(rtc_dd->regmap, regs->alarm_ctrl2, &ctrl_reg);
|
||||
|
Loading…
Reference in New Issue
Block a user