[PATCH 0/5] ACPI probing infrastructure

Tomasz Nowicki tn at semihalf.com
Sun Sep 6 23:58:33 PDT 2015


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>



More information about the linux-arm-kernel mailing list