Hi Will,
As you know, I have moved all the GTDT code to ACPI driver , and simplify the GTDT relevant code in arm_arch_timer.c. That will be in my next patchset. but you can check here : https://git.linaro.org/people/fu.wei/linux.git/shortlog/refs/heads/acpi-topi...
Great thanks for your suggestion!
On 27 May 2015 at 18:44, Will Deacon will.deacon@arm.com wrote:
On Tue, May 26, 2015 at 05:27:33PM +0100, Fu Wei wrote:
On 26 May 2015 at 23:36, Guenter Roeck linux@roeck-us.net wrote:
On Tue, May 26, 2015 at 04:18:42PM +0100, Will Deacon wrote:
Sure, the device it describes may only ever exist on ARM systems, but by that logic then we should be moving lots of drivers back under arch/arm[64].
It is nt the driver, but its instantiation. The question here would be how and where to instantiate the driver, not where the driver itself is located. The driver itself is ACPI agnostic.
I really don't mind to refactor the code, If we can make this patch better.
But for now, I can't see the good reason to move ACPI-relevant code into a watchdog driver.
I don't really mind where you move it, just as long as it's outside of arch/arm64.
The reasons I put the code here are (1)SBSA watchdog only for ARM64 (2)GTDT only for ARM, design for ARM, (3)For ARM Architecture, only ARM64 support ACPI.
For minimizing arch/arm64/kernel/acpi.c, we can't put the code here, and we had better keep these code outside the driver,
So do you have any suggestion for the better location of the GTDT code?
I don't understand why you can't do the same as drivers/clocksource/arm_arch_timer.c and parse the table directly in the driver. If there are objections from the driver/subsystem maintainers then it sounds like we need a mechanical ACPI table -> platform device conversion in the core, like we have for device-tree.
Will