From 3cf10c8f2d400e24276d93fc1e0fa2e143c088d2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 10 Oct 2010 12:29:27 +0200 Subject: [PATCH] --- yaml --- r: 212211 b: refs/heads/master c: 349d67673c08cbc299a69086b0f5447cf1094e9b h: refs/heads/master i: 212209: 5d7aa12b9dc4038f6fb01a5e3475136b5be12099 212207: 91ce1714616191f5f66b5d3766722d35fa9c6e14 v: v3 --- [refs] | 2 +- trunk/drivers/pci/intr_remapping.c | 39 +++--------------------------- 2 files changed, 4 insertions(+), 37 deletions(-) diff --git a/[refs] b/[refs] index 1b8f68050a97..c0dda8578fa7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 423f085952fd7253407cb92984cc2d495a564481 +refs/heads/master: 349d67673c08cbc299a69086b0f5447cf1094e9b diff --git a/trunk/drivers/pci/intr_remapping.c b/trunk/drivers/pci/intr_remapping.c index 0f4691c5fab3..ea46935422ff 100644 --- a/trunk/drivers/pci/intr_remapping.c +++ b/trunk/drivers/pci/intr_remapping.c @@ -46,54 +46,21 @@ static __init int setup_intremap(char *str) } early_param("intremap", setup_intremap); -#ifdef CONFIG_GENERIC_HARDIRQS static struct irq_2_iommu *irq_2_iommu(unsigned int irq) { - return get_irq_iommu(irq); + struct irq_cfg *cfg = get_irq_chip_data(irq); + return cfg ? &cfg->irq_2_iommu : NULL; } static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) { - struct irq_data *data = irq_get_irq_data(irq); - - if (WARN_ONCE(data->irq_2_iommu, - KERN_DEBUG "irq_2_iommu!=NULL irq %u\n", irq)) - return data->irq_2_iommu; - - data->irq_2_iommu = kzalloc_node(sizeof(*data->irq_2_iommu), - GFP_ATOMIC, data->node); - return data->irq_2_iommu; + return irq_2_iommu(irq); } static void irq_2_iommu_free(unsigned int irq) { - struct irq_data *d = irq_get_irq_data(irq); - struct irq_2_iommu *p = d->irq_2_iommu; - - d->irq_2_iommu = NULL; - kfree(p); } -#else /* !CONFIG_SPARSE_IRQ */ - -static struct irq_2_iommu irq_2_iommuX[NR_IRQS]; - -static struct irq_2_iommu *irq_2_iommu(unsigned int irq) -{ - if (irq < nr_irqs) - return &irq_2_iommuX[irq]; - - return NULL; -} -static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) -{ - return irq_2_iommu(irq); -} - -static void irq_2_iommu_free(unsigned int irq) { } - -#endif - static DEFINE_SPINLOCK(irq_2_ir_lock); static struct irq_2_iommu *valid_irq_2_iommu(unsigned int irq)