Re: [PATCH] GPE block driver [2/2]

Matthew Wilcox
2004-11-12T13:11:02Z

On Fri, Nov 12, 2004 at 04:23:59PM +0800, Li, Shaohua wrote:
> Hi Matthew,
> Will you send a sequent patch? I haven't looked at an interrupt handler
> is registered for the IRQ from GPE block device.

$ cat /proc/interrupts |grep acpi
48: 0 0 0 0 0 IO-SAPIC-level acpi
$ sudo modprobe gpe-block
$ cat /proc/interrupts |grep acpi
48: 0 0 0 0 0 IO-SAPIC-level acpi
63: 0 0 0 0 0 IO-SAPIC-level acpi

The interrupt is registered by this call in evgpeblk.c:

$ find drivers/acpi/ -type f |xargs grep acpi_os_install_interrupt_handler
drivers/acpi/osl.c:acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, void *context)
drivers/acpi/events/evgpeblk.c: status = acpi_os_install_interrupt_handler (interrupt_level,
drivers/acpi/events/evsci.c: status = acpi_os_install_interrupt_handler ((u32) acpi_gbl_FADT->sci_int,

Note that up to two of the GPE blocks in the ACPI namespace may already be
registered by virtue of being in the FADT; these will not be registered
by the gpe-block driver as they don't have a _CRS method (see 9.11 of
ACPI 3.0). I suspect 99% of the machines out there do not have additional
GPE blocks... or someone else would have written this driver by now ;-)