[PATCH 06/19] rtc: ds1307: use guard

From: alexandre . belloni

Date: Mon Oct 19 2026 - 17:20:55 EST


From: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

Use guard() to simplify error handling

Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
---
drivers/rtc/rtc-ds1307.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
index 522f7eef3b4a..0cf4836b81b1 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c
@@ -579,28 +579,27 @@ static irqreturn_t rx8130_irq(int irq, void *dev_id)
u8 ctl[3];
int ret;

- rtc_lock(ds1307->rtc);
+ guard(rtc_ops)(ds1307->rtc);

/* Read control registers. */
ret = regmap_bulk_read(ds1307->regmap, RX8130_REG_EXTENSION, ctl,
sizeof(ctl));
if (ret < 0)
- goto out;
+ return IRQ_HANDLED;
+
if (!(ctl[1] & RX8130_REG_FLAG_AF))
- goto out;
+ return IRQ_HANDLED;
+
ctl[1] &= ~RX8130_REG_FLAG_AF;
ctl[2] &= ~RX8130_REG_CONTROL0_AIE;

ret = regmap_bulk_write(ds1307->regmap, RX8130_REG_EXTENSION, ctl,
sizeof(ctl));
if (ret < 0)
- goto out;
+ return IRQ_HANDLED;

rtc_update_irq(ds1307->rtc, 1, RTC_AF | RTC_IRQF);

-out:
- rtc_unlock(ds1307->rtc);
-
return IRQ_HANDLED;
}

--
2.56.0