diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-01-04 21:24:57 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2020-01-07 18:41:12 +0000 |
commit | fd15c0b8fa72822056fe8d5a51a879e869472ade (patch) | |
tree | bc6dd309e18db03cfe8b501f9823e1a9fa20b0d9 /src/drivers | |
parent | 731e58e3197c43be49430f1b28445fcf85a7ed94 (diff) | |
download | coreboot-fd15c0b8fa72822056fe8d5a51a879e869472ade.tar.xz |
drivers/pc80/rtc: Refactor clear_cmos variable
After refactoring it is more a status variable rather than
a request.
Change-Id: I50b8099a08b556129416cea50f0ce6fafe6c14cc
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/38185
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/pc80/rtc/mc146818rtc.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/drivers/pc80/rtc/mc146818rtc.c b/src/drivers/pc80/rtc/mc146818rtc.c index 1d2fc97a74..b870da2674 100644 --- a/src/drivers/pc80/rtc/mc146818rtc.c +++ b/src/drivers/pc80/rtc/mc146818rtc.c @@ -94,7 +94,7 @@ static bool __cmos_init(bool invalid) { bool cmos_invalid; bool checksum_invalid = false; - bool clear_cmos; + bool cleared_cmos = false; size_t i; /* @@ -115,22 +115,19 @@ static bool __cmos_init(bool invalid) /* See if there is a CMOS checksum error */ checksum_invalid = !cmos_checksum_valid(PC_CKS_RANGE_START, PC_CKS_RANGE_END, PC_CKS_LOC); - - clear_cmos = false; - } else { - clear_cmos = true; } if (cmos_invalid || invalid) cmos_disable_rtc(); if (invalid || cmos_invalid || checksum_invalid) { - if (clear_cmos) { + if (!CONFIG(USE_OPTION_TABLE)) { cmos_write(0, 0x01); cmos_write(0, 0x03); cmos_write(0, 0x05); for (i = 10; i < 128; i++) cmos_write(0, i); + cleared_cmos = true; } if (cmos_invalid || invalid) @@ -140,9 +137,8 @@ static bool __cmos_init(bool invalid) invalid ? " Clear requested":"", cmos_invalid ? " Power Problem":"", checksum_invalid ? " Checksum invalid":"", - clear_cmos ? " zeroing cmos":""); - } else - clear_cmos = false; + cleared_cmos ? " zeroing cmos":""); + } /* Setup the real time clock */ cmos_write(RTC_CONTROL_DEFAULT, RTC_CONTROL); @@ -165,7 +161,7 @@ static bool __cmos_init(bool invalid) /* Clear any pending interrupts */ cmos_read(RTC_INTR_FLAGS); - return clear_cmos; + return cleared_cmos; } static void cmos_init_vbnv(bool invalid) |