Commit 7d65cf8c authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: pcf2127: report battery switch over

Add support for the RTC_VL_BACKUP_SWITCH flag to report battery switch over
events.

Link: https://lore.kernel.org/r/20200511140335.799133-1-alexandre.belloni@bootlin.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 040e6dc0
...@@ -188,18 +188,27 @@ static int pcf2127_rtc_ioctl(struct device *dev, ...@@ -188,18 +188,27 @@ static int pcf2127_rtc_ioctl(struct device *dev,
unsigned int cmd, unsigned long arg) unsigned int cmd, unsigned long arg)
{ {
struct pcf2127 *pcf2127 = dev_get_drvdata(dev); struct pcf2127 *pcf2127 = dev_get_drvdata(dev);
int touser; int val, touser = 0;
int ret; int ret;
switch (cmd) { switch (cmd) {
case RTC_VL_READ: case RTC_VL_READ:
ret = regmap_read(pcf2127->regmap, PCF2127_REG_CTRL3, &touser); ret = regmap_read(pcf2127->regmap, PCF2127_REG_CTRL3, &val);
if (ret) if (ret)
return ret; return ret;
touser = touser & PCF2127_BIT_CTRL3_BLF ? RTC_VL_BACKUP_LOW : 0; if (val & PCF2127_BIT_CTRL3_BLF)
touser |= RTC_VL_BACKUP_LOW;
if (val & PCF2127_BIT_CTRL3_BF)
touser |= RTC_VL_BACKUP_SWITCH;
return put_user(touser, (unsigned int __user *)arg); return put_user(touser, (unsigned int __user *)arg);
case RTC_VL_CLR:
return regmap_update_bits(pcf2127->regmap, PCF2127_REG_CTRL3,
PCF2127_BIT_CTRL3_BF, 0);
default: default:
return -ENOIOCTLCMD; return -ENOIOCTLCMD;
} }
...@@ -493,7 +502,6 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap, ...@@ -493,7 +502,6 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
*/ */
ret = regmap_update_bits(pcf2127->regmap, PCF2127_REG_CTRL3, ret = regmap_update_bits(pcf2127->regmap, PCF2127_REG_CTRL3,
PCF2127_BIT_CTRL3_BTSE | PCF2127_BIT_CTRL3_BTSE |
PCF2127_BIT_CTRL3_BF |
PCF2127_BIT_CTRL3_BIE | PCF2127_BIT_CTRL3_BIE |
PCF2127_BIT_CTRL3_BLIE, 0); PCF2127_BIT_CTRL3_BLIE, 0);
if (ret) { if (ret) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment