mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
rtc: pcf2123: don't use weekday alarm
The week day may not be set properly by userspace. This would result is missed alarms. Disable alarm matching on weekday. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20190819182656.29744-1-alexandre.belloni@bootlin.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
faac910201
commit
5bdf40dab6
1 changed files with 2 additions and 2 deletions
|
@ -82,7 +82,7 @@
|
||||||
#define OSC_HAS_STOPPED BIT(7) /* Clock has been stopped */
|
#define OSC_HAS_STOPPED BIT(7) /* Clock has been stopped */
|
||||||
|
|
||||||
/* PCF2123_REG_ALRM_XX BITS */
|
/* PCF2123_REG_ALRM_XX BITS */
|
||||||
#define ALRM_ENABLE BIT(7) /* MN, HR, DM, or DW alarm enable */
|
#define ALRM_DISABLE BIT(7) /* MN, HR, DM, or DW alarm matching */
|
||||||
|
|
||||||
/* PCF2123_REG_TMR_CLKOUT BITS */
|
/* PCF2123_REG_TMR_CLKOUT BITS */
|
||||||
#define CD_TMR_4096KHZ (0) /* 4096 KHz countdown timer */
|
#define CD_TMR_4096KHZ (0) /* 4096 KHz countdown timer */
|
||||||
|
@ -288,7 +288,7 @@ static int pcf2123_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
|
||||||
txbuf[0] = bin2bcd(alm->time.tm_min & 0x7F);
|
txbuf[0] = bin2bcd(alm->time.tm_min & 0x7F);
|
||||||
txbuf[1] = bin2bcd(alm->time.tm_hour & 0x3F);
|
txbuf[1] = bin2bcd(alm->time.tm_hour & 0x3F);
|
||||||
txbuf[2] = bin2bcd(alm->time.tm_mday & 0x3F);
|
txbuf[2] = bin2bcd(alm->time.tm_mday & 0x3F);
|
||||||
txbuf[3] = bin2bcd(alm->time.tm_wday & 0x07);
|
txbuf[3] = ALRM_DISABLE;
|
||||||
|
|
||||||
ret = regmap_bulk_write(pdata->map, PCF2123_REG_ALRM_MN, txbuf,
|
ret = regmap_bulk_write(pdata->map, PCF2123_REG_ALRM_MN, txbuf,
|
||||||
sizeof(txbuf));
|
sizeof(txbuf));
|
||||||
|
|
Loading…
Reference in a new issue