[PATCH 0/5] ACPI probing infrastructure

Tomasz Nowicki tn at semihalf.com
Tue Sep 8 07:38:50 PDT 2015


On 07.09.2015 08:58, Tomasz Nowicki wrote:
> Hi Marc,
>
> On 04.09.2015 19:06, Marc Zyngier wrote:
>> IRQ controllers and timers are the two types of device the kernel
>> requires before being able to use the device driver model.
>>
>> ACPI so far lacks a proper probing infrastructure similar to the one
>> we have with DT, where we're able to declare IRQ chips and
>> clocksources inside the driver code, and let the core code pick it up
>> and call us back on a match. This leads to all kind of really ugly
>> hacks all over the arm64 code and even in the ACPI layer.
>>
>> It turns out that providing such a probing infrastructure is rather
>> easy, and provides a much deserved cleanup in both the arch code, the
>> GIC driver, and the architected timer driver.
>>
>> I'm sure there is some more code to be deleted, and one can only
>> wonder why this wasn't done before the arm64 code was initially merged
>> (the diffstat says it all...).
>>
>> Patches are against v4.2, and a branch is available at
>>
>> git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git
>> acpi/device-probing
>>
>> Marc Zyngier (5):
>>    acpi: Add basic device probing infrastructure
>>    irqchip/acpi: Add probing infrastructure for ACPI-based irqchips
>>    irqchip/gic: Convert the GIC driver to ACPI probing
>>    clocksource/acpi: Add probing infrastructure for ACPI-based
>>      clocksources
>>    clocksource/arm_arch_timer: Convert to ACPI probing
>>
>>   arch/arm64/include/asm/acpi.h        |  1 -
>>   arch/arm64/include/asm/irq.h         | 13 -------
>>   arch/arm64/kernel/acpi.c             | 25 -------------
>>   arch/arm64/kernel/time.c             |  6 ----
>>   drivers/acpi/scan.c                  | 41 +++++++++++++++++++++
>>   drivers/clocksource/arm_arch_timer.c | 10 +-----
>>   drivers/clocksource/clksrc-of.c      |  4 +++
>>   drivers/irqchip/irq-gic.c            | 69
>> ++++++++++++++++++------------------
>>   drivers/irqchip/irqchip.c            |  5 ++-
>>   include/asm-generic/vmlinux.lds.h    | 11 ++++++
>>   include/linux/acpi.h                 | 56 +++++++++++++++++++++++++++++
>>   include/linux/acpi_irq.h             | 10 ------
>>   include/linux/clocksource.h          |  6 ----
>>   include/linux/irqchip.h              | 16 +++++++++
>>   include/linux/irqchip/arm-gic-acpi.h | 31 ----------------
>>   15 files changed, 166 insertions(+), 138 deletions(-)
>>   delete mode 100644 include/linux/acpi_irq.h
>>   delete mode 100644 include/linux/irqchip/arm-gic-acpi.h
>>
>
> Thanks for cleaning this up!
>
> For the whole series:
> Acked-by: Tomasz Nowicki <tn at semihalf.com>

s/Acked-by/Reviewed-by

Tomasz



More information about the linux-arm-kernel mailing list