Re: [Linaro-acpi] [PATCH] watchdog: introduce the ARM64 SBSA watchdog driver

Guenter Roeck
2015-05-01T23:16:52Z

On 05/01/2015 01:15 PM, Timur Tabi wrote:
> On 05/01/2015 02:19 PM, Arnd Bergmann wrote:
>> That should be fixed, we want normal drivers to be loadable modules.
>
> The driver references three functions that are not exported:
>
> ERROR: "acpi_parse_entries" [drivers/watchdog/arm_sbsa_wdt.ko] undefined!
> ERROR: "arch_timer_get_rate" [drivers/watchdog/arm_sbsa_wdt.ko] undefined!
> ERROR: "arch_timer_read_counter" [drivers/watchdog/arm_sbsa_wdt.ko] undefined!
>
> I know what you're going to say. You want me to move the ACPI platform code into some ACPI platform file, maybe /arch/arm64/kernel/acpi.c. My concern is that there is currently no code for ACPI timers, so I don't have much of a starting point. I'd hate to have to define support for all of ACPI timers just to get my driver merged.
>

Not really, at least not me. However, there is no other caller of
arch_timer_get_rate, except for the call setting arch_timer_rate.
This suggests that it might not be such a good idea to call
arch_timer_get_rate() and arch_timer_read_counter() in the first place.

[ On a side note, arch_timer_get_rate() can return 0 if ARM_ARCH_TIMER
is not configured. You'll need to check for that. ]

It is hard to imagine that the watchdog would be the only driver which
needs this clock. Isn't there some clock API call that can be used
instead ?

As for acpi_parse_entries, we will need some feedback from the acpi
maintainers. If the intent is that this function can be called from
drivers, it should be exported.

Guenter