|
@@ -245,8 +245,9 @@ static int pcf50633_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
|
|
ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
|
|
ret = pcf50633_write_block(rtc->pcf, PCF50633_REG_RTCSCA,
|
|
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
|
|
PCF50633_TI_EXTENT, &pcf_tm.time[0]);
|
|
|
|
|
|
- if (!alarm_masked)
|
|
|
|
|
|
+ if (!alarm_masked || alrm->enabled)
|
|
pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
|
|
pcf50633_irq_unmask(rtc->pcf, PCF50633_IRQ_ALARM);
|
|
|
|
+ rtc->alarm_enabled = alrm->enabled;
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|