• Bjorn Helgaas's avatar
    PNP: support optional IRQ resources · d5ebde6e
    Bjorn Helgaas authored
    This patch adds an IORESOURCE_IRQ_OPTIONAL flag for use when
    assigning resources to a device.  If the flag is set and we are
    unable to assign an IRQ to the device, we can leave the IRQ
    disabled but allow the overall resource allocation to succeed.
    
    Some devices request an IRQ, but can run without an IRQ
    (possibly with degraded performance).  This flag lets us run
    the device without the IRQ instead of just leaving the
    device disabled.
    
    This is a reimplementation of this previous change by Rene
    Herman <rene.herman@gmail.com>:
        http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b73a223661ed137c5d3d2635f954382e94f5a43
    
    I reimplemented this for two reasons:
        - to prepare for converting all resource options into a single linked
          list, as opposed to the per-resource-type lists we have now, and
        - to preserve the order and number of resource options.
    
    In PNPBIOS and ACPI, we configure a device by giving firmware a
    list of resource assignments.  It is important that this list
    has exactly the same number of resources, in the same order,
    as the "template" list we got from the firmware in the first
    place.
    
    The problem of a sound card MPU401 being left disabled for want of
    an IRQ was reported by Uwe Bugla <uwe.bugla@gmx.de>.
    Signed-off-by: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Acked-by: default avatarRene Herman <rene.herman@gmail.com>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    d5ebde6e
quirks.c 7.76 KB