[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch V2 15/46] x86/irq: Consolidate DMAR irq allocation



From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

None of the DMAR specific fields are required.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---
 arch/x86/include/asm/hw_irq.h |    6 ------
 arch/x86/kernel/apic/msi.c    |   10 +++++-----
 2 files changed, 5 insertions(+), 11 deletions(-)

--- a/arch/x86/include/asm/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -83,12 +83,6 @@ struct irq_alloc_info {
                        irq_hw_number_t msi_hwirq;
                };
 #endif
-#ifdef CONFIG_DMAR_TABLE
-               struct {
-                       int             dmar_id;
-                       void            *dmar_data;
-               };
-#endif
 #ifdef CONFIG_X86_UV
                struct {
                        int             uv_limit;
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -329,15 +329,15 @@ static struct irq_chip dmar_msi_controll
 static irq_hw_number_t dmar_msi_get_hwirq(struct msi_domain_info *info,
                                          msi_alloc_info_t *arg)
 {
-       return arg->dmar_id;
+       return arg->hwirq;
 }
 
 static int dmar_msi_init(struct irq_domain *domain,
                         struct msi_domain_info *info, unsigned int virq,
                         irq_hw_number_t hwirq, msi_alloc_info_t *arg)
 {
-       irq_domain_set_info(domain, virq, arg->dmar_id, info->chip, NULL,
-                           handle_edge_irq, arg->dmar_data, "edge");
+       irq_domain_set_info(domain, virq, arg->devid, info->chip, NULL,
+                           handle_edge_irq, arg->data, "edge");
 
        return 0;
 }
@@ -384,8 +384,8 @@ int dmar_alloc_hwirq(int id, int node, v
 
        init_irq_alloc_info(&info, NULL);
        info.type = X86_IRQ_ALLOC_TYPE_DMAR;
-       info.dmar_id = id;
-       info.dmar_data = arg;
+       info.devid = id;
+       info.data = arg;
 
        return irq_domain_alloc_irqs(domain, 1, node, &info);
 }





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.