mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
rtc: s35390a: Fix alarm not disabling
Implement alarm_irq_enable callback.
Fixes: 542dd33a49 ("drivers/rtc/rtc-s35390a.c: add wakealarm support for rtc-s35390A rtc chip")
Signed-off-by: Markus Probst <markus.probst@posteo.de>
Link: https://patch.msgid.link/20260930-rtc_s35390a_int1-v10-3-e7b1cbc50a7b@posteo.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
a27b25bb9b
commit
d93f29e410
|
|
@ -270,6 +270,24 @@ static int s35390a_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int s35390a_rtc_alarm_irq_enable(struct device *dev, unsigned int enabled)
|
||||
{
|
||||
struct s35390a *s35390a = dev_get_drvdata(dev);
|
||||
u8 sts;
|
||||
int err;
|
||||
|
||||
if (enabled)
|
||||
sts = S35390A_INT2_MODE_ALARM;
|
||||
else
|
||||
sts = S35390A_INT2_MODE_NOINTR;
|
||||
|
||||
err = s35390a_set_reg(s35390a, S35390A_CMD_STATUS2, &sts, sizeof(sts));
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int s35390a_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
|
||||
{
|
||||
struct i2c_client *client = to_i2c_client(dev);
|
||||
|
|
@ -410,11 +428,12 @@ static int s35390a_rtc_ioctl(struct device *dev, unsigned int cmd,
|
|||
}
|
||||
|
||||
static const struct rtc_class_ops s35390a_rtc_ops = {
|
||||
.read_time = s35390a_rtc_read_time,
|
||||
.set_time = s35390a_rtc_set_time,
|
||||
.set_alarm = s35390a_rtc_set_alarm,
|
||||
.read_alarm = s35390a_rtc_read_alarm,
|
||||
.ioctl = s35390a_rtc_ioctl,
|
||||
.read_time = s35390a_rtc_read_time,
|
||||
.set_time = s35390a_rtc_set_time,
|
||||
.set_alarm = s35390a_rtc_set_alarm,
|
||||
.read_alarm = s35390a_rtc_read_alarm,
|
||||
.alarm_irq_enable = s35390a_rtc_alarm_irq_enable,
|
||||
.ioctl = s35390a_rtc_ioctl,
|
||||
};
|
||||
|
||||
static int s35390a_nvmem_read(void *priv, unsigned int offset, void *val,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user