Skip to content

Commit e9a2162

Browse files
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.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
1 parent 33f4ac1 commit e9a2162

1 file changed

Lines changed: 0 additions & 20 deletions

File tree

drivers/rtc/rtc-ma35d1.c

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,6 @@ static irqreturn_t ma35d1_rtc_interrupt(int irq, void *data)
7979
events |= RTC_AF | RTC_IRQF;
8080
}
8181

82-
if (rtc_irq & RTC_INTSTS_UIF) {
83-
rtc_reg_write(rtc, MA35_REG_RTC_INTSTS, RTC_INTSTS_UIF);
84-
events |= RTC_UF | RTC_IRQF;
85-
}
86-
8782
rtc_update_irq(rtc->rtcdev, 1, events);
8883

8984
return IRQ_HANDLED;
@@ -216,7 +211,6 @@ static int ma35d1_rtc_probe(struct platform_device *pdev)
216211
{
217212
struct ma35_rtc *rtc;
218213
struct clk *clk;
219-
u32 regval;
220214
int ret;
221215

222216
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
@@ -264,40 +258,26 @@ static int ma35d1_rtc_probe(struct platform_device *pdev)
264258
if (ret)
265259
return dev_err_probe(&pdev->dev, ret, "Failed to register rtc device\n");
266260

267-
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
268-
regval |= RTC_INTEN_UIEN;
269-
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
270-
271261
return 0;
272262
}
273263

274264
static int ma35d1_rtc_suspend(struct platform_device *pdev, pm_message_t state)
275265
{
276266
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
277-
u32 regval;
278267

279268
if (device_may_wakeup(&pdev->dev))
280269
enable_irq_wake(rtc->irq_num);
281270

282-
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
283-
regval &= ~RTC_INTEN_UIEN;
284-
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
285-
286271
return 0;
287272
}
288273

289274
static int ma35d1_rtc_resume(struct platform_device *pdev)
290275
{
291276
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
292-
u32 regval;
293277

294278
if (device_may_wakeup(&pdev->dev))
295279
disable_irq_wake(rtc->irq_num);
296280

297-
regval = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
298-
regval |= RTC_INTEN_UIEN;
299-
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, regval);
300-
301281
return 0;
302282
}
303283

0 commit comments

Comments
 (0)