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:
parent
be3df3f858
commit
669022c29a
@ -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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user