Commit 8681de64 authored by Biju Das's avatar Biju Das Committed by Alexandre Belloni

rtc: da9063: Make IRQ as optional

On some platforms (eg: RZ/{G2UL,Five} SMARC EVK), there is no IRQ
populated by default. Add irq optional support.
Signed-off-by: default avatarBiju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240105145344.204453-2-biju.das.jz@bp.renesas.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent dd7fe5d9
...@@ -485,25 +485,29 @@ static int da9063_rtc_probe(struct platform_device *pdev) ...@@ -485,25 +485,29 @@ static int da9063_rtc_probe(struct platform_device *pdev)
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtc_dev->features); clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtc_dev->features);
} }
irq_alarm = platform_get_irq_byname(pdev, "ALARM"); irq_alarm = platform_get_irq_byname_optional(pdev, "ALARM");
if (irq_alarm < 0) if (irq_alarm >= 0) {
ret = devm_request_threaded_irq(&pdev->dev, irq_alarm, NULL,
da9063_alarm_event,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
"ALARM", rtc);
if (ret)
dev_err(&pdev->dev,
"Failed to request ALARM IRQ %d: %d\n",
irq_alarm, ret);
ret = dev_pm_set_wake_irq(&pdev->dev, irq_alarm);
if (ret)
dev_warn(&pdev->dev,
"Failed to set IRQ %d as a wake IRQ: %d\n",
irq_alarm, ret);
device_init_wakeup(&pdev->dev, true);
} else if (irq_alarm != -ENXIO) {
return irq_alarm; return irq_alarm;
} else {
ret = devm_request_threaded_irq(&pdev->dev, irq_alarm, NULL, clear_bit(RTC_FEATURE_ALARM, rtc->rtc_dev->features);
da9063_alarm_event, }
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
"ALARM", rtc);
if (ret)
dev_err(&pdev->dev, "Failed to request ALARM IRQ %d: %d\n",
irq_alarm, ret);
ret = dev_pm_set_wake_irq(&pdev->dev, irq_alarm);
if (ret)
dev_warn(&pdev->dev,
"Failed to set IRQ %d as a wake IRQ: %d\n",
irq_alarm, ret);
device_init_wakeup(&pdev->dev, true);
return devm_rtc_register_device(rtc->rtc_dev); return devm_rtc_register_device(rtc->rtc_dev);
} }
......
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