Re: Adding interrupt support to gpio-ich driver (possibly via SCI)

From: Matthew Garrett
Date: Mon Apr 07 2014 - 22:49:08 EST


On Fri, Apr 04, 2014 at 09:25:50AM -0700, Guenter Roeck wrote:

> Is there a clean way to use any of those to implement interrupt support
> for this driver ? I thought about hijacking the SCI interrupt by registering
> an interrupt handler with acpi_install_sci_handler(), but that would restrict
> the driver to kernel only (or the acpi function would have to be exported),
> and I have no idea if it would work or, more importantly, if it would be
> the best approach to solve the problem, or if the result would be acceptable.
> I can figure out the "working" part, but that would not help much if I would
> have to carry the patch locally because it is not acceptable for upstream
> integration.

You shouldn't need to install an SCI handler - the way the hardware will
generate an SCI is to raise a GPE. If you know which GPE the device
raises (my recollection is that for most Intel chipsets it's GPIO number
+ 0x10) then you can just call acpi_install_gpe_handler(). The problem
is that the firmware may well already be using some of those GPIOs, and
there's no easy way to tell. Checking the interrupt configuration isn't
sufficient, since some of them may just be used as outputs.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/