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]. 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