[PATCH v6 00/10] acpi, clocksource: add GTDT driver and GTDT support in arm_arch_timer

Hanjun Guo hanjun.guo at linaro.org
Thu Jun 30 06:48:02 PDT 2016


On 2016/6/30 21:27, Rafael J. Wysocki wrote:
> On Thursday, June 30, 2016 10:10:02 AM Hanjun Guo wrote:
>> Hi Rafael,
>>
>> On 2016/6/30 9:37, Rafael J. Wysocki wrote:
>>> On Thursday, June 30, 2016 09:29:59 AM Fu Wei wrote:
>>>> Hi Rafael,
>>>>
>>>> On 30 June 2016 at 05:32, Rafael J. Wysocki <rafael at kernel.org> wrote:
>>>>> On Wed, Jun 29, 2016 at 8:15 PM,  <fu.wei at linaro.org> wrote:
>>>>>> From: Fu Wei <fu.wei at linaro.org>
>>>>>>
>>>>>> This patchset:
>>>>>>     (1)Preparation for adding GTDT support in arm_arch_timer
>>>>>>         1. Move some enums and marcos to header file
>>>>>>         2. Add a new enum for spi type.
>>>>>>         3. Improve printk relevant code
>>>>>>
>>>>>>     (2)Introduce ACPI GTDT parser: drivers/acpi/gtdt.c
>>>>>>     Parse all kinds of timer in GTDT table of ACPI:arch timer,
>>>>>>     memory-mapped timer and SBSA Generic Watchdog timer.
>>>>>>     This driver can help to simplify all the relevant timer drivers,
>>>>>>     and separate all the ACPI GTDT knowledge from them.
>>>>>>
>>>>>>     (3)Simplify ACPI code for arm_arch_timer
>>>>>>
>>>>>>     (4)Add GTDT support for ARM memory-mapped timer
>>>>>
>>>>> GTDT is ARM-specific AFAICS.
>>>>
>>>> yes, you are right, it is.
>>>>
>>>>>
>>>>> If so, why do we need that code to reside in drivers/acpi/ ?
>>>>
>>>> Although  the GTDT is just for ARM64, but this driver is parsing one
>>>> of ACPI table,
>>>> I think that could be treated as ACPI driver.  Do I miss something? :-)
>>>
>>> Yes, you are.  Nobody except for ARM64 will ever need it.
>>
>> GTDT is part of ACPI spec, drivers/acpi/ is for driver code of
>> ACPI spec, I think it can stay in drivers/acpi/ from this point
>> of view, am I right?
>
> The question is not "Can it?", but "Does it need to?".
>
> It is in the spec, but still there's only one architecture needing it.
>
> There is no way to test it on any other architecture and no reason to build it
> for any other architecture, so why does it need to be located in drivers/acpi/ ?

I'm fine to move it to other places such as arch/arm64/kernel/, but I
would like to ask ARM64 maintainer's suggestion for this.

Will, Catalin, what's your opinion on this?

Thanks
Hanjun



More information about the linux-arm-kernel mailing list