rtc-pcf50633: Fix month off-by-one error
authorRask Ingemann Lambertsen <rask@sygehus.dk>
Tue, 3 Mar 2009 06:40:34 +0000 (06:40 +0000)
committerAndy Green <agreen@octopus.localdomain>
Tue, 3 Mar 2009 06:40:34 +0000 (06:40 +0000)
   The PCF50633 stores a month value of 1-12, but the kernel wants 0-11.

Signed-off-by: Rask Ingemann Lambertsen <rask@sygehus.dk>

drivers/rtc/rtc-pcf50633.c

index 1013634..8669815 100644 (file)
@@ -71,7 +71,7 @@ static void pcf2rtc_time(struct rtc_time *rtc, struct pcf50633_time *pcf)
        rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]);
        rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]);
        rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]);
-       rtc->tm_mon = bcd2bin(pcf->time[PCF50633_TI_MONTH]);
+       rtc->tm_mon = bcd2bin(pcf->time[PCF50633_TI_MONTH]) - 1;
        rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100;
 }
 
@@ -82,7 +82,7 @@ static void rtc2pcf_time(struct pcf50633_time *pcf, struct rtc_time *rtc)
        pcf->time[PCF50633_TI_HOUR] = bin2bcd(rtc->tm_hour);
        pcf->time[PCF50633_TI_WKDAY] = bin2bcd(rtc->tm_wday);
        pcf->time[PCF50633_TI_DAY] = bin2bcd(rtc->tm_mday);
-       pcf->time[PCF50633_TI_MONTH] = bin2bcd(rtc->tm_mon);
+       pcf->time[PCF50633_TI_MONTH] = bin2bcd(rtc->tm_mon + 1);
        pcf->time[PCF50633_TI_YEAR] = bin2bcd(rtc->tm_year % 100);
 }