Re: How to "register" a GSI for a non PCI non ISA device

From: Konrad Rzeszutek Wilk
Date: Wed Jan 25 2012 - 14:04:45 EST


On Wed, Jan 25, 2012 at 06:23:14PM +0100, Guillaume Knispel wrote:
> On Wed, 25 Jan 2012 00:56:53 -0500
> Len Brown <lenb@xxxxxxxxxx> wrote:
>
> > On 01/24/2012 12:42 PM, Guillaume Knispel wrote:
> >
> > > Hi,
> > >
> > > I'm building a PC platform with additional non-PCI and non-ISA devices:
> > > they are basically simple telecom chipsets connected to an SPI and an
> > > old school parallel bus (Intel LEB bus) and GPIO pins that can be used
> > > as interrupts through the IO APIC which exposes 40 GSI. From the point
> > > of view of the software the SPI, LEB, and GPIO are provided by PCI
> > > devices (in reality they are embedded controllers in an Intel SoC
> > > 80579). Anyway I'm not sure the additional GSI are described anywhere
> > > in whatever black magic ACPI / legacy BIOS table they could be
> > > (but I've complete control over the FW, so I can had whatever is
> > > needed when I know it).
> >
> > What is the benefit of implementing ACPI on this custom system?
>
> For our short term project it seems to be more a necessity than a
> benefit. ACPI is supported by the SoC, tables are already largely
> provided by Coreboot, the whole x86 ecosystem including Linux is more
> or less based around ACPI, and my whole interrogation comes from the
> fact that *acpi*_register_gsi() seems to be necessary to configure a
> GSI in the APIC but is not exported anymore, so my guess is that if I

Hm, isn't it __acpi_register_gsi?

> can't call it explicitly from my LKM, there should better be a way to
> make it be called when an ACPI thing is done, or maybe a legacy table
> parsed.

Can you do it the way xen does? Look in arch/x86/xen/pci.c
>
> As we first target an unmodified (if possible) 2.6.32 kernel from
> Debian Squeeze, I can't just re-export acpi_register_gsi() and call it
> a day. (If I've no other choice I'll obviously do it, but this would be
> quite bad for future maintenance).

Oh wow. That is ancient. 3.2?
--
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/