Commit a1cfe7cc authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: pcf8523: report oscillator failures



Report oscillator failures and invalid date/time on RTC_VL_READ.

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210418002023.1000265-3-alexandre.belloni@bootlin.com
parent 13e37b7f
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -406,6 +406,8 @@ static int pcf8523_rtc_ioctl(struct device *dev, unsigned int cmd,
			     unsigned long arg)
{
	struct i2c_client *client = to_i2c_client(dev);
	unsigned int flags = 0;
	u8 value;
	int ret;

	switch (cmd) {
@@ -414,9 +416,16 @@ static int pcf8523_rtc_ioctl(struct device *dev, unsigned int cmd,
		if (ret < 0)
			return ret;
		if (ret)
			ret = RTC_VL_BACKUP_LOW;
			flags |= RTC_VL_BACKUP_LOW;

		ret = pcf8523_read(client, REG_SECONDS, &value);
		if (ret < 0)
			return ret;

		if (value & REG_SECONDS_OS)
			flags |= RTC_VL_DATA_INVALID;

		return put_user(ret, (unsigned int __user *)arg);
		return put_user(flags, (unsigned int __user *)arg);

	default:
		return -ENOIOCTLCMD;