diff options
author | Tom Rini <trini@konsulko.com> | 2020-10-22 14:36:47 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-10-22 14:36:47 -0400 |
commit | ae4fdd7b0432bcb0bc2fe7d90b6d3e92001ab478 (patch) | |
tree | e933e67609989d0e4960f1464384e9ff40732b30 /drivers/timer/riscv_timer.c | |
parent | b90daf2743b38022bea8727ede867ad63e971db2 (diff) | |
parent | dddfde5401ed5ad82c996b35b61dc4a45bb4e2b3 (diff) |
Merge branch '2020-10-22-misc-changes'
- Assorted updates for Xen, IPQ40xx, ASpeed, Keymile
- Assorted typo / documentation fixes
- Fix default preboot cmd to act like before with USB_STORAGE set
- A number of other bugfixes throughout the code
Diffstat (limited to 'drivers/timer/riscv_timer.c')
-rw-r--r-- | drivers/timer/riscv_timer.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/timer/riscv_timer.c b/drivers/timer/riscv_timer.c index 449fcfcfd59..21ae1840571 100644 --- a/drivers/timer/riscv_timer.c +++ b/drivers/timer/riscv_timer.c @@ -16,22 +16,19 @@ #include <timer.h> #include <asm/csr.h> -static int riscv_timer_get_count(struct udevice *dev, u64 *count) +static u64 riscv_timer_get_count(struct udevice *dev) { - if (IS_ENABLED(CONFIG_64BIT)) { - *count = csr_read(CSR_TIME); - } else { - u32 hi, lo; + __maybe_unused u32 hi, lo; - do { - hi = csr_read(CSR_TIMEH); - lo = csr_read(CSR_TIME); - } while (hi != csr_read(CSR_TIMEH)); + if (IS_ENABLED(CONFIG_64BIT)) + return csr_read(CSR_TIME); - *count = ((u64)hi << 32) | lo; - } + do { + hi = csr_read(CSR_TIMEH); + lo = csr_read(CSR_TIME); + } while (hi != csr_read(CSR_TIMEH)); - return 0; + return ((u64)hi << 32) | lo; } static int riscv_timer_probe(struct udevice *dev) |