• Grant Likely's avatar
    irq: add irq_domain translation infrastructure · 08a543ad
    Grant Likely authored
    This patch adds irq_domain infrastructure for translating from
    hardware irq numbers to linux irqs.  This is particularly important
    for architectures adding device tree support because the current
    implementation (excluding PowerPC and SPARC) cannot handle
    translation for more than a single interrupt controller.  irq_domain
    supports device tree translation for any number of interrupt
    This patch converts x86, Microblaze, ARM and MIPS to use irq_domain
    for device tree irq translation.  x86 is untested beyond compiling it,
    irq_domain is enabled for MIPS and Microblaze, but the old behaviour is
    preserved until the core code is modified to actually register an
    irq_domain yet.  On ARM it works and is required for much of the new
    ARM device tree board support.
    PowerPC has /not/ been converted to use this new infrastructure.  It
    is still missing some features before it can replace the virq
    infrastructure already in powerpc (see documentation on
    irq_domain_map/unmap for details).  Followup patches will add the
    missing pieces and migrate PowerPC to use irq_domain.
    SPARC has its own method of managing interrupts from the device tree
    and is unaffected by this change.
    Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>