diff options
Diffstat (limited to 'driver/battery/smart.c')
-rw-r--r-- | driver/battery/smart.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/driver/battery/smart.c b/driver/battery/smart.c index 96a1a3f824..91b9bcfd10 100644 --- a/driver/battery/smart.c +++ b/driver/battery/smart.c @@ -287,16 +287,16 @@ test_mockable int battery_manufacture_date(int *year, int *month, int *day) int rv; int ymd; - rv = sb_read(SB_SPECIFICATION_INFO, &ymd); + rv = sb_read(SB_MANUFACTURE_DATE, &ymd); if (rv) return rv; /* battery date format: - * ymd = day + month * 32 + (year - 1980) * 256 + * ymd = day + month * 32 + (year - 1980) * 512 */ - *year = (ymd >> 8) + 1980; - *month = (ymd & 0xff) / 32; - *day = (ymd & 0xff) % 32; + *year = (ymd >> 9) + 1980; + *month = (ymd >> 5) & 0xf; + *day = ymd & 0x1f; return EC_SUCCESS; } |