• Thomas Gleixner's avatar
    x86/xen: Rework MSI teardown · 7d4d892d
    Thomas Gleixner authored
    X86 cannot store the irq domain pointer in struct device without breaking
    XEN because the irq domain pointer takes precedence over arch_*_msi_irqs()
    fallbacks.
    
    XENs MSI teardown relies on default_teardown_msi_irqs() which invokes
    arch_teardown_msi_irq(). default_teardown_msi_irqs() is a trivial iterator
    over the msi entries associated to a device.
    
    Implement this loop in xen_teardown_msi_irqs() to prepare for removal of
    the fallbacks for X86.
    
    This is a preparatory step to wrap XEN MSI alloc/free into a irq domain
    which in turn allows to store the irq domain pointer in struct device and
    to use the irq domain functions directly.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
    Link: https://lore.kernel.org/r/20200826112333.326841410@linutronix.de
    7d4d892d
xen.c 14.2 KB