rtc: pcf2123: use IRQ flags obtained from fwnode

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2183349

commit 5434a4e472c71448bbdc061f21ebf1b0a2d23753
Author: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date:   Mon Jan 23 21:02:10 2023 +0100

    rtc: pcf2123: use IRQ flags obtained from fwnode

    Allow the IRQ type to be passed from the device tree if available as there
    may be components changing the trigger type of the interrupt between the
    RTC and the IRQ controller.

    Link: https://lore.kernel.org/r/20230123200217.1236011-5-alexandre.belloni@bootlin.com
    Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    (cherry picked from commit 5434a4e472c71448bbdc061f21ebf1b0a2d23753)

Signed-off-by: Gavin Shan <gshan@redhat.com>
This commit is contained in:
Gavin Shan 2023-05-30 13:35:11 +10:00
parent 2b0d1110a5
commit 329adeafe0
1 changed files with 6 additions and 1 deletions

View File

@ -413,9 +413,14 @@ static int pcf2123_probe(struct spi_device *spi)
/* Register alarm irq */
if (spi->irq > 0) {
unsigned long irqflags = IRQF_TRIGGER_LOW;
if (dev_fwnode(&spi->dev))
irqflags = 0;
ret = devm_request_threaded_irq(&spi->dev, spi->irq, NULL,
pcf2123_rtc_irq,
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
irqflags | IRQF_ONESHOT,
pcf2123_driver.driver.name, &spi->dev);
if (!ret)
device_init_wakeup(&spi->dev, true);