diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-09-28 17:31:50 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 10:53:39 -0400 |
commit | 7e495529b62cf462eb2d8875fe15ca446b8e1f94 (patch) | |
tree | 53db590e868280775e03d8420671c5327b4e7d5a /arch/x86/kernel/apic/io_apic.c | |
parent | be5b7bf73802a9391158d9fcc0bc6b07670c73a5 (diff) |
x86: ioapic: Cleanup some more
Cleanup after the irq_chip conversion a bit.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index b144f7a9597..43030995dcc 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -131,13 +131,9 @@ struct irq_pin_list { | |||
131 | struct irq_pin_list *next; | 131 | struct irq_pin_list *next; |
132 | }; | 132 | }; |
133 | 133 | ||
134 | static struct irq_pin_list *get_one_free_irq_2_pin(int node) | 134 | static struct irq_pin_list *alloc_irq_pin_list(int node) |
135 | { | 135 | { |
136 | struct irq_pin_list *pin; | 136 | return kzalloc_node(sizeof(struct irq_pin_list), GFP_ATOMIC, node); |
137 | |||
138 | pin = kzalloc_node(sizeof(*pin), GFP_ATOMIC, node); | ||
139 | |||
140 | return pin; | ||
141 | } | 137 | } |
142 | 138 | ||
143 | /* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */ | 139 | /* irq_cfg is indexed by the sum of all RTEs in all I/O APICs. */ |
@@ -232,7 +228,7 @@ init_copy_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg, int node) | |||
232 | if (!old_entry) | 228 | if (!old_entry) |
233 | return; | 229 | return; |
234 | 230 | ||
235 | entry = get_one_free_irq_2_pin(node); | 231 | entry = alloc_irq_pin_list(node); |
236 | if (!entry) | 232 | if (!entry) |
237 | return; | 233 | return; |
238 | 234 | ||
@@ -242,7 +238,7 @@ init_copy_irq_2_pin(struct irq_cfg *old_cfg, struct irq_cfg *cfg, int node) | |||
242 | tail = entry; | 238 | tail = entry; |
243 | old_entry = old_entry->next; | 239 | old_entry = old_entry->next; |
244 | while (old_entry) { | 240 | while (old_entry) { |
245 | entry = get_one_free_irq_2_pin(node); | 241 | entry = alloc_irq_pin_list(node); |
246 | if (!entry) { | 242 | if (!entry) { |
247 | entry = head; | 243 | entry = head; |
248 | while (entry) { | 244 | while (entry) { |
@@ -471,7 +467,7 @@ static void ioapic_mask_entry(int apic, int pin) | |||
471 | * fast in the common case, and fast for shared ISA-space IRQs. | 467 | * fast in the common case, and fast for shared ISA-space IRQs. |
472 | */ | 468 | */ |
473 | static int | 469 | static int |
474 | add_pin_to_irq_node_nopanic(struct irq_cfg *cfg, int node, int apic, int pin) | 470 | __add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin) |
475 | { | 471 | { |
476 | struct irq_pin_list **last, *entry; | 472 | struct irq_pin_list **last, *entry; |
477 | 473 | ||
@@ -483,7 +479,7 @@ add_pin_to_irq_node_nopanic(struct irq_cfg *cfg, int node, int apic, int pin) | |||
483 | last = &entry->next; | 479 | last = &entry->next; |
484 | } | 480 | } |
485 | 481 | ||
486 | entry = get_one_free_irq_2_pin(node); | 482 | entry = alloc_irq_pin_list(node); |
487 | if (!entry) { | 483 | if (!entry) { |
488 | printk(KERN_ERR "can not alloc irq_pin_list (%d,%d,%d)\n", | 484 | printk(KERN_ERR "can not alloc irq_pin_list (%d,%d,%d)\n", |
489 | node, apic, pin); | 485 | node, apic, pin); |
@@ -498,7 +494,7 @@ add_pin_to_irq_node_nopanic(struct irq_cfg *cfg, int node, int apic, int pin) | |||
498 | 494 | ||
499 | static void add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin) | 495 | static void add_pin_to_irq_node(struct irq_cfg *cfg, int node, int apic, int pin) |
500 | { | 496 | { |
501 | if (add_pin_to_irq_node_nopanic(cfg, node, apic, pin)) | 497 | if (__add_pin_to_irq_node(cfg, node, apic, pin)) |
502 | panic("IO-APIC: failed to add irq-pin. Can not proceed\n"); | 498 | panic("IO-APIC: failed to add irq-pin. Can not proceed\n"); |
503 | } | 499 | } |
504 | 500 | ||
@@ -3801,7 +3797,7 @@ static int __io_apic_set_pci_routing(struct device *dev, int irq, | |||
3801 | * IRQs < 16 are already in the irq_2_pin[] map | 3797 | * IRQs < 16 are already in the irq_2_pin[] map |
3802 | */ | 3798 | */ |
3803 | if (irq >= legacy_pic->nr_legacy_irqs) { | 3799 | if (irq >= legacy_pic->nr_legacy_irqs) { |
3804 | if (add_pin_to_irq_node_nopanic(cfg, node, ioapic, pin)) { | 3800 | if (__add_pin_to_irq_node(cfg, node, ioapic, pin)) { |
3805 | printk(KERN_INFO "can not add pin %d for irq %d\n", | 3801 | printk(KERN_INFO "can not add pin %d for irq %d\n", |
3806 | pin, irq); | 3802 | pin, irq); |
3807 | return 0; | 3803 | return 0; |