Commit e9a21624 authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: ma35d1: remove hardcoded UIE support

Let the core handle UIE instead of enabling it forcefully at probe which
means the RTC will generate an interrupt every second even when nobody
cares.

Link: https://lore.kernel.org/r/20231217225831.48581-1-alexandre.belloni@bootlin.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 33f4ac16
......@@ -79,11 +79,6 @@ static irqreturn_t ma35d1_rtc_interrupt(int irq, void *data)
events |= RTC_AF | RTC_IRQF;
}
if (rtc_irq & RTC_INTSTS_UIF) {
rtc_reg_write(rtc, MA35_REG_RTC_INTSTS, RTC_INTSTS_UIF);
events |= RTC_UF | RTC_IRQF;
}
rtc_update_irq(rtc->rtcdev, 1, events);
return IRQ_HANDLED;
......@@ -216,7 +211,6 @@ static int ma35d1_rtc_probe(struct platform_device *pdev)
{
struct ma35_rtc *rtc;
struct clk *clk;
u32 regval;
int ret;
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
......@@ -264,40 +258,26 @@ static int ma35d1_rtc_probe(struct platform_device *pdev)
if (ret)
return dev_err_probe(&pdev->dev, ret, "Failed to register rtc device\n");
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
regval |= RTC_INTEN_UIEN;
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
return 0;
}
static int ma35d1_rtc_suspend(struct platform_device *pdev, pm_message_t state)
{
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
u32 regval;
if (device_may_wakeup(&pdev->dev))
enable_irq_wake(rtc->irq_num);
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
regval &= ~RTC_INTEN_UIEN;
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
return 0;
}
static int ma35d1_rtc_resume(struct platform_device *pdev)
{
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
u32 regval;
if (device_may_wakeup(&pdev->dev))
disable_irq_wake(rtc->irq_num);
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
regval |= RTC_INTEN_UIEN;
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
return 0;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment