On 26 May 2015 at 11:18, Will Deacon <will.deacon@xxxxxxx> wrote: > On Tue, May 26, 2015 at 04:02:56PM +0100, Ashwin Chaugule wrote: >> On 26 May 2015 at 08:28, Will Deacon <will.deacon@xxxxxxx> wrote: >> > On Mon, May 25, 2015 at 11:03:13AM +0100, fu.wei@xxxxxxxxxx wrote: >> >> From: Fu Wei <fu.wei@xxxxxxxxxx> >> >> >> >> Parse SBSA Generic Watchdog Structure in GTDT table of ACPI, >> >> and create a platform device with that information. >> >> This platform device can be used by the ARM SBSA Generic >> >> Watchdog driver. >> >> >> >> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx> >> >> Tested-by: Timur Tabi <timur@xxxxxxxxxxxxxx> >> >> Signed-off-by: Fu Wei <fu.wei@xxxxxxxxxx> >> >> --- >> >> arch/arm64/kernel/acpi.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++ >> >> 1 file changed, 145 insertions(+) >> > >> > Why does this all need to be under arch/arm64? The GTDT really isn't >> > architecture-specific, so I'd *much* rather it was parsed in the driver code >> > itself, like we already do for the architected timer. The GIC is an >> > exception because it's in the MADT, which we need to parse in the arch code >> > to configure SMP properly. >> >> I'm not really against refactoring the code. But the GTDT looks quite >> specific to ARM.. >> >> ---8<---- >> 5.2.24 Generic Timer Description Table (GTDT) >> This section describes the format of the Generic Timer Description >> Table (GTDT), which provides >> OSPM with information about a system’s Generic Timers configuration. >> The Generic Timer (GT) is >> a standard timer interface implemented on ARM processor-based systems. >> The GT hardware >> specification can be found at Links to ACPI-Related Documents >> (http://uefi.org/acpi) under the >> heading ARM Architecture. The GTDT provides OSPM with information >> about a system's GT >> interrupt configurations, for both per-processor timers, and platform >> (memory-mapped) timers. >> The GT specification defines the following per-processor timers: >> • Secure privilege level 1 (EL1) timer, >> • Non-Secure EL1 timer, >> • Non-Secure privilege level 2 (EL2) timer, >> • Virtual timer, >> and the following Platform (memory-mapped) timers. >> • GT Block >> • Server Base System Architecture (SBSA) Generic Watchdog >> ---8<---- > > 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]. Sure. Not arguing about that. :) You said the GTDT isn't really arch specific. That was a bit confusing. > > The ARM architecture says precisely *nothing* about ACPI, so we should > try to keep arch/arm64/kernel/acpi.c to a minimum and not shovel all sorts > of table conversion code in there for random peripherals. > > Will -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html