Skip to content
  • Thomas Gleixner's avatar
    genirq: Provide generic hwirq allocation facility · 7b6ef126
    Thomas Gleixner authored
    
    
    Not really the solution to the problem, but at least it confines the
    mess in the core code and allows to get rid of the create/destroy_irq
    variants from hell, i.e. 3 implementations with different semantics
    plus the x86 specific variants __create_irqs and create_irq_nr
    which have been invented in another circle of hell.
    
    x86 : x86 should be converted to irq domains and I'm deliberately
          making it impossible to do the multi-vector MSI support by
          adding more crap to the current mess. It's not that hard to do
          and I'm really tired of the trainwrecks which have been invented
          by baindaid engineering so far. Any attempt to do multi-vector
          MSI or ioapic hotplug without converting to irq domains is NAKed
          hereby.
    
    tile: Might use irq domains as well, but it has a very limited
          interrupt space, so handling it via this functionality might be
          the right thing to do even in the long run.
    
    ia64: That's an hopeless case, as I doubt that anyone has the stomach
          to rewrite the homebrewn dynamic allocation facilities. I stared
          at it for a couple of hours and gave up. The create/destroy_irq
          mess could be made private to itanic right away if there
          wouldn't be the iommu/dmar driver being shared with x86. So to
          do that I'm going to add a separate ia64 specific implementation
          later in order not to deep-six itanic right away.
    
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarGrant Likely <grant.likely@linaro.org>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Chris Metcalf <cmetcalf@tilera.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: x86@kernel.org
    Link: http://lkml.kernel.org/r/20140507154334.208629358@linutronix.de
    
    
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    7b6ef126