2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-24 18:44:07 +08:00

rtc: tegra: 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-5-git-send-email-tanxiaofei@huawei.com
This commit is contained in:
Xiaofei Tan 2021-02-03 20:39:39 +08:00 committed by Alexandre Belloni
parent be3df3f858
commit 669022c29a

View File

@ -232,7 +232,7 @@ static irqreturn_t tegra_rtc_irq_handler(int irq, void *data)
{ {
struct device *dev = data; struct device *dev = data;
struct tegra_rtc_info *info = dev_get_drvdata(dev); struct tegra_rtc_info *info = dev_get_drvdata(dev);
unsigned long events = 0, flags; unsigned long events = 0;
u32 status; u32 status;
status = readl(info->base + TEGRA_RTC_REG_INTR_STATUS); status = readl(info->base + TEGRA_RTC_REG_INTR_STATUS);
@ -240,10 +240,10 @@ static irqreturn_t tegra_rtc_irq_handler(int irq, void *data)
/* clear the interrupt masks and status on any IRQ */ /* clear the interrupt masks and status on any IRQ */
tegra_rtc_wait_while_busy(dev); tegra_rtc_wait_while_busy(dev);
spin_lock_irqsave(&info->lock, flags); spin_lock(&info->lock);
writel(0, info->base + TEGRA_RTC_REG_INTR_MASK); writel(0, info->base + TEGRA_RTC_REG_INTR_MASK);
writel(status, info->base + TEGRA_RTC_REG_INTR_STATUS); writel(status, info->base + TEGRA_RTC_REG_INTR_STATUS);
spin_unlock_irqrestore(&info->lock, flags); spin_unlock(&info->lock);
} }
/* check if alarm */ /* check if alarm */