rtc: stop validating rtc_time in .read_time
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 19 Feb 2018 15:23:56 +0000 (16:23 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 2 Mar 2018 09:09:58 +0000 (10:09 +0100)
The RTC core is always calling rtc_valid_tm after the read_time callback.
It is not necessary to call it just before returning from the callback.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
48 files changed:
drivers/rtc/rtc-ac100.c
drivers/rtc/rtc-au1xxx.c
drivers/rtc/rtc-bq32k.c
drivers/rtc/rtc-ds1216.c
drivers/rtc/rtc-ds1286.c
drivers/rtc/rtc-ds1302.c
drivers/rtc/rtc-ds1305.c
drivers/rtc/rtc-ds1307.c
drivers/rtc/rtc-ds1343.c
drivers/rtc/rtc-ds1347.c
drivers/rtc/rtc-ds1390.c
drivers/rtc/rtc-ds1685.c
drivers/rtc/rtc-ds1742.c
drivers/rtc/rtc-ds2404.c
drivers/rtc/rtc-ds3232.c
drivers/rtc/rtc-efi.c
drivers/rtc/rtc-fm3130.c
drivers/rtc/rtc-isl12022.c
drivers/rtc/rtc-lpc24xx.c
drivers/rtc/rtc-m41t80.c
drivers/rtc/rtc-m41t94.c
drivers/rtc/rtc-m48t35.c
drivers/rtc/rtc-m48t59.c
drivers/rtc/rtc-m48t86.c
drivers/rtc/rtc-max6902.c
drivers/rtc/rtc-max6916.c
drivers/rtc/rtc-max8997.c
drivers/rtc/rtc-max8998.c
drivers/rtc/rtc-mcp795.c
drivers/rtc/rtc-mrst.c
drivers/rtc/rtc-msm6242.c
drivers/rtc/rtc-mt7622.c
drivers/rtc/rtc-mv.c
drivers/rtc/rtc-pcf2123.c
drivers/rtc/rtc-pcf2127.c
drivers/rtc/rtc-pcf50633.c
drivers/rtc/rtc-pcf8523.c
drivers/rtc/rtc-pic32.c
drivers/rtc/rtc-r9701.c
drivers/rtc/rtc-rp5c01.c
drivers/rtc/rtc-rx6110.c
drivers/rtc/rtc-rx8010.c
drivers/rtc/rtc-rx8025.c
drivers/rtc/rtc-s3c.c
drivers/rtc/rtc-s5m.c
drivers/rtc/rtc-sh.c
drivers/rtc/rtc-sun6i.c
drivers/rtc/rtc-sunxi.c

index 8ff9dc3..080e3c0 100644 (file)
@@ -387,7 +387,7 @@ static int ac100_rtc_get_time(struct device *dev, struct rtc_time *rtc_tm)
        rtc_tm->tm_year = bcd2bin(reg[6] & AC100_RTC_YEA_MASK) +
                          AC100_YEAR_OFF;
 
-       return rtc_valid_tm(rtc_tm);
+       return 0;
 }
 
 static int ac100_rtc_set_time(struct device *dev, struct rtc_time *rtc_tm)
index 2ba44cc..7c5530c 100644 (file)
@@ -36,7 +36,7 @@ static int au1xtoy_rtc_read_time(struct device *dev, struct rtc_time *tm)
 
        rtc_time_to_tm(t, tm);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int au1xtoy_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 98ac8d5..e8698e9 100644 (file)
@@ -110,7 +110,7 @@ static int bq32k_rtc_read_time(struct device *dev, struct rtc_time *tm)
        tm->tm_year = bcd2bin(regs.years) +
                                ((regs.cent_hours & BQ32K_CENT) ? 100 : 0);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int bq32k_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 9c82b1d..5f15871 100644 (file)
@@ -99,7 +99,7 @@ static int ds1216_rtc_read_time(struct device *dev, struct rtc_time *tm)
        if (tm->tm_year < 70)
                tm->tm_year += 100;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int ds1216_rtc_set_time(struct device *dev, struct rtc_time *tm)
index ef75c34..0744916 100644 (file)
@@ -211,7 +211,7 @@ static int ds1286_read_time(struct device *dev, struct rtc_time *tm)
 
        tm->tm_mon--;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int ds1286_set_time(struct device *dev, struct rtc_time *tm)
index 43bcb17..2a88115 100644 (file)
@@ -98,8 +98,7 @@ static int ds1302_rtc_get_time(struct device *dev, struct rtc_time *time)
        time->tm_mon = bcd2bin(buf[RTC_ADDR_MON]) - 1;
        time->tm_year = bcd2bin(buf[RTC_ADDR_YEAR]) + 100;
 
-       /* Time may not be set */
-       return rtc_valid_tm(time);
+       return 0;
 }
 
 static const struct rtc_class_ops ds1302_rtc_ops = {
index 3d2400a..2d502fc 100644 (file)
@@ -203,8 +203,7 @@ static int ds1305_get_time(struct device *dev, struct rtc_time *time)
                time->tm_hour, time->tm_mday,
                time->tm_mon, time->tm_year, time->tm_wday);
 
-       /* Time may not be set */
-       return rtc_valid_tm(time);
+       return 0;
 }
 
 static int ds1305_set_time(struct device *dev, struct rtc_time *time)
index 4021d47..a13e59e 100644 (file)
@@ -437,8 +437,7 @@ static int ds1307_get_time(struct device *dev, struct rtc_time *t)
                t->tm_hour, t->tm_mday,
                t->tm_mon, t->tm_year, t->tm_wday);
 
-       /* initial clock setting can be undefined */
-       return rtc_valid_tm(t);
+       return 0;
 }
 
 static int ds1307_set_time(struct device *dev, struct rtc_time *t)
index 59d27db..5208da4 100644 (file)
@@ -254,7 +254,7 @@ static int ds1343_read_time(struct device *dev, struct rtc_time *dt)
        dt->tm_mon      = bcd2bin(buf[5] & 0x1F) - 1;
        dt->tm_year     = bcd2bin(buf[6]) + 100; /* year offset from 1900 */
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int ds1343_set_time(struct device *dev, struct rtc_time *dt)
index ccfc9d4..938512c 100644 (file)
@@ -66,7 +66,7 @@ static int ds1347_read_time(struct device *dev, struct rtc_time *dt)
        dt->tm_wday = bcd2bin(buf[5]) - 1;
        dt->tm_year = bcd2bin(buf[6]) + 100;
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int ds1347_set_time(struct device *dev, struct rtc_time *dt)
index 4d5b007..3b09540 100644 (file)
@@ -153,7 +153,7 @@ static int ds1390_read_time(struct device *dev, struct rtc_time *dt)
        /* adjust for century bit */
        dt->tm_year = bcd2bin(chip->txrx_buf[6]) + ((chip->txrx_buf[5] & 0x80) ? 100 : 0);
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int ds1390_set_time(struct device *dev, struct rtc_time *dt)
index ed43b43..1a39829 100644 (file)
@@ -306,7 +306,7 @@ ds1685_rtc_read_time(struct device *dev, struct rtc_time *tm)
        tm->tm_yday  = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year);
        tm->tm_isdst = 0; /* RTC has hardcoded timezone, so don't use. */
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 /**
index 52baf92..2d78118 100644 (file)
@@ -112,7 +112,7 @@ static int ds1742_rtc_read_time(struct device *dev, struct rtc_time *tm)
        /* year is 1900 + tm->tm_year */
        tm->tm_year = bcd2bin(year) + bcd2bin(century) * 100 - 1900;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static const struct rtc_class_ops ds1742_rtc_ops = {
index 9a1582e..b886b6a 100644 (file)
@@ -207,7 +207,7 @@ static int ds2404_read_time(struct device *dev, struct rtc_time *dt)
        time = le32_to_cpu(time);
 
        rtc_time_to_tm(time, dt);
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int ds2404_set_mmss(struct device *dev, unsigned long secs)
index 0550f7b..7184e51 100644 (file)
@@ -145,7 +145,7 @@ static int ds3232_read_time(struct device *dev, struct rtc_time *time)
 
        time->tm_year = bcd2bin(year) + add_century;
 
-       return rtc_valid_tm(time);
+       return 0;
 }
 
 static int ds3232_set_time(struct device *dev, struct rtc_time *time)
index 0130afd..3454e78 100644 (file)
@@ -176,7 +176,7 @@ static int efi_read_time(struct device *dev, struct rtc_time *tm)
        if (!convert_from_efi_time(&eft, tm))
                return -EIO;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int efi_set_time(struct device *dev, struct rtc_time *tm)
index 576eadb..e113767 100644 (file)
@@ -136,8 +136,7 @@ static int fm3130_get_time(struct device *dev, struct rtc_time *t)
                t->tm_hour, t->tm_mday,
                t->tm_mon, t->tm_year, t->tm_wday);
 
-       /* initial clock setting can be undefined */
-       return rtc_valid_tm(t);
+       return 0;
 }
 
 
index 38586a0..46093cd 100644 (file)
@@ -149,7 +149,7 @@ static int isl12022_get_datetime(struct i2c_client *client, struct rtc_time *tm)
                tm->tm_sec, tm->tm_min, tm->tm_hour,
                tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int isl12022_set_datetime(struct i2c_client *client, struct rtc_time *tm)
index 59d9959..14dc7b0 100644 (file)
@@ -110,7 +110,7 @@ static int lpc24xx_rtc_read_time(struct device *dev, struct rtc_time *tm)
        tm->tm_year = CT1_YEAR(ct1);
        tm->tm_yday = CT2_DOY(ct2);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int lpc24xx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *wkalrm)
index c90fba3..1103cdc 100644 (file)
@@ -230,7 +230,7 @@ static int m41t80_get_datetime(struct i2c_client *client,
 
        /* assume 20YY not 19YY, and ignore the Century Bit */
        tm->tm_year = bcd2bin(buf[M41T80_REG_YEAR]) + 100;
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 /* Sets the given date and time to the real time clock. */
index 1f0eb79..bab82b4 100644 (file)
@@ -99,8 +99,7 @@ static int m41t94_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_hour, tm->tm_mday,
                tm->tm_mon, tm->tm_year, tm->tm_wday);
 
-       /* initial clock setting can be undefined */
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static const struct rtc_class_ops m41t94_rtc_ops = {
index 810f4ea..0cf6507 100644 (file)
@@ -84,7 +84,7 @@ static int m48t35_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_year += 100;
 
        tm->tm_mon--;
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int m48t35_set_time(struct device *dev, struct rtc_time *tm)
index d2ba7d7..216fac6 100644 (file)
@@ -105,7 +105,7 @@ static int m48t59_rtc_read_time(struct device *dev, struct rtc_time *tm)
        dev_dbg(dev, "RTC read time %04d-%02d-%02d %02d/%02d/%02d\n",
                tm->tm_year + 1900, tm->tm_mon, tm->tm_mday,
                tm->tm_hour, tm->tm_min, tm->tm_sec);
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 8d17be1..a953353 100644 (file)
@@ -100,7 +100,7 @@ static int m48t86_rtc_read_time(struct device *dev, struct rtc_time *tm)
                if (m48t86_readb(dev, M48T86_HOUR) & 0x80)
                        tm->tm_hour += 12;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int m48t86_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 315d09e..7458274 100644 (file)
@@ -85,7 +85,7 @@ static int max6902_read_time(struct device *dev, struct rtc_time *dt)
        dt->tm_year += century;
        dt->tm_year -= 1900;
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int max6902_set_time(struct device *dev, struct rtc_time *dt)
index 623ab27..7e908a4 100644 (file)
@@ -75,7 +75,7 @@ static int max6916_read_time(struct device *dev, struct rtc_time *dt)
        dt->tm_wday = bcd2bin(buf[5]) - 1;
        dt->tm_year = bcd2bin(buf[6]) + 100;
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int max6916_set_time(struct device *dev, struct rtc_time *dt)
index db984d4..e8cee12 100644 (file)
@@ -153,7 +153,7 @@ static int max8997_rtc_read_time(struct device *dev, struct rtc_time *tm)
 
        max8997_rtc_data_to_tm(data, tm, info->rtc_24hr_mode);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int max8997_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 30804b0..d8c0f9b 100644 (file)
@@ -120,7 +120,7 @@ static int max8998_rtc_read_time(struct device *dev, struct rtc_time *tm)
 
        max8998_data_to_tm(data, tm);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int max8998_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 77f2133..79e24ea 100644 (file)
@@ -262,7 +262,7 @@ static int mcp795_read_time(struct device *dev, struct rtc_time *tim)
                        tim->tm_year + 1900, tim->tm_mon, tim->tm_mday,
                        tim->tm_wday, tim->tm_hour, tim->tm_min, tim->tm_sec);
 
-       return rtc_valid_tm(tim);
+       return 0;
 }
 
 static int mcp795_set_alarm(struct device *dev, struct rtc_wkalrm *alm)
index 7334c44..901a8d1 100644 (file)
@@ -105,7 +105,7 @@ static int mrst_read_time(struct device *dev, struct rtc_time *time)
        /* Adjust for the 1972/1900 */
        time->tm_year += 72;
        time->tm_mon--;
-       return rtc_valid_tm(time);
+       return 0;
 }
 
 static int mrst_set_time(struct device *dev, struct rtc_time *time)
index c1c5c4e..0c72a2e 100644 (file)
@@ -155,7 +155,7 @@ static int msm6242_read_time(struct device *dev, struct rtc_time *tm)
 
        msm6242_unlock(priv);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int msm6242_set_time(struct device *dev, struct rtc_time *tm)
index d79b9ae..da21327 100644 (file)
@@ -232,7 +232,7 @@ static int mtk_rtc_gettime(struct device *dev, struct rtc_time *tm)
 
        mtk_rtc_get_alarm_or_time(hw, tm, MTK_TC);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int mtk_rtc_settime(struct device *dev, struct rtc_time *tm)
index 79bb286..944c5c0 100644 (file)
@@ -94,7 +94,7 @@ static int mv_rtc_read_time(struct device *dev, struct rtc_time *tm)
        /* hw counts from year 2000, but tm_year is relative to 1900 */
        tm->tm_year = bcd2bin(year) + 100;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int mv_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alm)
index 8895f77..e5222c5 100644 (file)
@@ -289,7 +289,7 @@ static int pcf2123_rtc_read_time(struct device *dev, struct rtc_time *tm)
                        tm->tm_sec, tm->tm_min, tm->tm_hour,
                        tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int pcf2123_rtc_set_time(struct device *dev, struct rtc_time *tm)
index f33447c..e83be18 100644 (file)
@@ -111,7 +111,7 @@ static int pcf2127_rtc_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_sec, tm->tm_min, tm->tm_hour,
                tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int pcf2127_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 00c31c9..ef72b0c 100644 (file)
@@ -135,7 +135,7 @@ static int pcf50633_rtc_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_mday, tm->tm_mon, tm->tm_year,
                tm->tm_hour, tm->tm_min, tm->tm_sec);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int pcf50633_rtc_set_time(struct device *dev, struct rtc_time *tm)
index c312af0..453615f 100644 (file)
@@ -192,7 +192,7 @@ static int pcf8523_rtc_read_time(struct device *dev, struct rtc_time *tm)
        tm->tm_mon = bcd2bin(regs[5] & 0x1f) - 1;
        tm->tm_year = bcd2bin(regs[6]) + 100;
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int pcf8523_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 5cfb6df..3c08eab 100644 (file)
@@ -175,7 +175,7 @@ static int pic32_rtc_gettime(struct device *dev, struct rtc_time *rtc_tm)
                rtc_tm->tm_hour, rtc_tm->tm_min, rtc_tm->tm_sec);
 
        clk_disable(pdata->clk);
-       return rtc_valid_tm(rtc_tm);
+       return 0;
 }
 
 static int pic32_rtc_settime(struct device *dev, struct rtc_time *tm)
index b6c5eb9..a39ccd1 100644 (file)
@@ -92,7 +92,7 @@ static int r9701_get_datetime(struct device *dev, struct rtc_time *dt)
         * according to the data sheet. make sure they are valid.
         */
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int r9701_set_datetime(struct device *dev, struct rtc_time *dt)
index 043b166..f1c160f 100644 (file)
@@ -115,7 +115,7 @@ static int rp5c01_read_time(struct device *dev, struct rtc_time *tm)
        rp5c01_unlock(priv);
        spin_unlock_irq(&priv->lock);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int rp5c01_set_time(struct device *dev, struct rtc_time *tm)
index 7c9c08e..8e322d8 100644 (file)
@@ -252,7 +252,7 @@ static int rx6110_get_time(struct device *dev, struct rtc_time *tm)
                tm->tm_sec, tm->tm_min, tm->tm_hour,
                tm->tm_mday, tm->tm_mon, tm->tm_year);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static const struct reg_sequence rx6110_default_regs[] = {
index 5c5938a..7ddc22e 100644 (file)
@@ -138,7 +138,7 @@ static int rx8010_get_time(struct device *dev, struct rtc_time *dt)
        dt->tm_year = bcd2bin(date[RX8010_YEAR - RX8010_SEC]) + 100;
        dt->tm_wday = ffs(date[RX8010_WDAY - RX8010_SEC] & 0x7f);
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int rx8010_set_time(struct device *dev, struct rtc_time *dt)
index 91857d8..41127ad 100644 (file)
@@ -214,7 +214,7 @@ static int rx8025_get_time(struct device *dev, struct rtc_time *dt)
                dt->tm_sec, dt->tm_min, dt->tm_hour,
                dt->tm_mday, dt->tm_mon, dt->tm_year);
 
-       return rtc_valid_tm(dt);
+       return 0;
 }
 
 static int rx8025_set_time(struct device *dev, struct rtc_time *dt)
index a8992c2..75c8c50 100644 (file)
@@ -232,7 +232,7 @@ retry_get_time:
 
        rtc_tm->tm_mon -= 1;
 
-       return rtc_valid_tm(rtc_tm);
+       return 0;
 }
 
 static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm)
index 0477678..6deae10 100644 (file)
@@ -407,7 +407,7 @@ static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm)
                1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday,
                tm->tm_hour, tm->tm_min, tm->tm_sec, tm->tm_wday);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 6c2d398..4e8ab37 100644 (file)
@@ -414,7 +414,7 @@ static int sh_rtc_read_time(struct device *dev, struct rtc_time *tm)
                tm->tm_sec, tm->tm_min, tm->tm_hour,
                tm->tm_mday, tm->tm_mon + 1, tm->tm_year, tm->tm_wday);
 
-       return rtc_valid_tm(tm);
+       return 0;
 }
 
 static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm)
index 5bc28ee..2e6fb27 100644 (file)
@@ -349,7 +349,7 @@ static int sun6i_rtc_gettime(struct device *dev, struct rtc_time *rtc_tm)
         */
        rtc_tm->tm_year += SUN6I_YEAR_OFF;
 
-       return rtc_valid_tm(rtc_tm);
+       return 0;
 }
 
 static int sun6i_rtc_getalarm(struct device *dev, struct rtc_wkalrm *wkalrm)
index abada60..dadbf8b 100644 (file)
@@ -261,7 +261,7 @@ static int sunxi_rtc_gettime(struct device *dev, struct rtc_time *rtc_tm)
         */
        rtc_tm->tm_year += SUNXI_YEAR_OFF(chip->data_year);
 
-       return rtc_valid_tm(rtc_tm);
+       return 0;
 }
 
 static int sunxi_rtc_setalarm(struct device *dev, struct rtc_wkalrm *wkalrm)