[PATCH 1/5] acpi: Add basic device probing infrastructure

Rafael J. Wysocki rjw at rjwysocki.net
Mon Sep 7 14:29:36 PDT 2015


On Friday, September 04, 2015 06:06:48 PM 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.
> 
> In order to allow some basic probing based on the ACPI tables,
> introduce "struct acpi_probe_entry" which contains just enough
> data and callbacks to match a table, an optional subtable, and
> call a probe function. A driver can, at build time, register itself
> and expect being called if the right entry exists in the ACPI
> table.
> 
> A acpi_probe_device_init() is provided, taking an ACPI table
> identifier, and iterating over the registered entries.

What about things that are provided by the ACPI namespace (eg. via _MAT) rather
than in static tables?

Thanks,
Rafael




More information about the linux-arm-kernel mailing list