Guenter Roeck wrote:
+static unsigned int sbsa_gwdt_get_timeleft(struct watchdog_device *wdd) +{
- struct sbsa_gwdt *gwdt = to_sbsa_gwdt(wdd);
- u64 timeleft = sbsa_gwdt_get_wcv(wdd) - arch_counter_get_cntvct();
Still not happy about the use of arch_counter_get_cntvct instead of using the clock subsystem. I am quite sure this could be done, possibly through arch_sys_counter, though at this point I am getting wary of bringing it up, so I guess I'll just let it go.
You made the same comment with my driver, and I keep asking for clarification. The clk_get_sys() API does not work on my system, because there are not clocks defined. That must be an ACPI limitation that I can't fix.
The alternative to arch_counter_get_cntvct() is arch_timer_read_counter(), which is not exported. So we have two choices,
1) Continue to use arch_counter_get_cntvct(), which works on all ARM64 platforms that this driver supports anyway
2) Export arch_timer_read_counter()
I prefer option #1.