diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-11 16:20:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-11 16:20:42 -0400 |
commit | 12a499612e1ff439bdad240c7f86c55366941d4d (patch) | |
tree | 9fd218631e0c8c26a5ffc41ebce1d65f8e826339 /drivers | |
parent | eee2775d9924b22643bd89b2e568cc5eed7e8a04 (diff) | |
parent | 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb (diff) |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
pci/intr_remapping: Allocate irq_iommu on node
irq: Add irq_node() primitive
irq: Make sure irq_desc for legacy irq get correct node setting
genirq: Add prototype for handle_nested_irq()
irq: Remove superfluous NULL pointer check in check_irq_resend()
irq: Clean up by removing irqfixup MODULE_PARM_DESC()
genirq: Fix comment describing suspend_device_irqs()
genirq: Remove obsolete defines and typedefs
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/intr_remapping.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c index 4f5b8712931f..44803644ca05 100644 --- a/drivers/pci/intr_remapping.c +++ b/drivers/pci/intr_remapping.c | |||
@@ -55,15 +55,12 @@ static struct irq_2_iommu *irq_2_iommu(unsigned int irq) | |||
55 | return desc->irq_2_iommu; | 55 | return desc->irq_2_iommu; |
56 | } | 56 | } |
57 | 57 | ||
58 | static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node) | 58 | static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) |
59 | { | 59 | { |
60 | struct irq_desc *desc; | 60 | struct irq_desc *desc; |
61 | struct irq_2_iommu *irq_iommu; | 61 | struct irq_2_iommu *irq_iommu; |
62 | 62 | ||
63 | /* | 63 | desc = irq_to_desc(irq); |
64 | * alloc irq desc if not allocated already. | ||
65 | */ | ||
66 | desc = irq_to_desc_alloc_node(irq, node); | ||
67 | if (!desc) { | 64 | if (!desc) { |
68 | printk(KERN_INFO "can not get irq_desc for %d\n", irq); | 65 | printk(KERN_INFO "can not get irq_desc for %d\n", irq); |
69 | return NULL; | 66 | return NULL; |
@@ -72,16 +69,11 @@ static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node) | |||
72 | irq_iommu = desc->irq_2_iommu; | 69 | irq_iommu = desc->irq_2_iommu; |
73 | 70 | ||
74 | if (!irq_iommu) | 71 | if (!irq_iommu) |
75 | desc->irq_2_iommu = get_one_free_irq_2_iommu(node); | 72 | desc->irq_2_iommu = get_one_free_irq_2_iommu(irq_node(irq)); |
76 | 73 | ||
77 | return desc->irq_2_iommu; | 74 | return desc->irq_2_iommu; |
78 | } | 75 | } |
79 | 76 | ||
80 | static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) | ||
81 | { | ||
82 | return irq_2_iommu_alloc_node(irq, cpu_to_node(boot_cpu_id)); | ||
83 | } | ||
84 | |||
85 | #else /* !CONFIG_SPARSE_IRQ */ | 77 | #else /* !CONFIG_SPARSE_IRQ */ |
86 | 78 | ||
87 | static struct irq_2_iommu irq_2_iommuX[NR_IRQS]; | 79 | static struct irq_2_iommu irq_2_iommuX[NR_IRQS]; |