diff options
Diffstat (limited to 'arch/ia64/kernel/iosapic.c')
-rw-r--r-- | arch/ia64/kernel/iosapic.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index f92cef47bf86..dab4d393908c 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c | |||
@@ -451,7 +451,7 @@ iosapic_startup_edge_irq (unsigned int irq) | |||
451 | static void | 451 | static void |
452 | iosapic_ack_edge_irq (unsigned int irq) | 452 | iosapic_ack_edge_irq (unsigned int irq) |
453 | { | 453 | { |
454 | irq_desc_t *idesc = irq_desc + irq; | 454 | struct irq_desc *idesc = irq_desc + irq; |
455 | 455 | ||
456 | irq_complete_move(irq); | 456 | irq_complete_move(irq); |
457 | move_native_irq(irq); | 457 | move_native_irq(irq); |
@@ -600,8 +600,8 @@ static int | |||
600 | register_intr (unsigned int gsi, int irq, unsigned char delivery, | 600 | register_intr (unsigned int gsi, int irq, unsigned char delivery, |
601 | unsigned long polarity, unsigned long trigger) | 601 | unsigned long polarity, unsigned long trigger) |
602 | { | 602 | { |
603 | irq_desc_t *idesc; | 603 | struct irq_desc *idesc; |
604 | struct hw_interrupt_type *irq_type; | 604 | struct irq_chip *irq_type; |
605 | int index; | 605 | int index; |
606 | struct iosapic_rte_info *rte; | 606 | struct iosapic_rte_info *rte; |
607 | 607 | ||
@@ -650,7 +650,7 @@ register_intr (unsigned int gsi, int irq, unsigned char delivery, | |||
650 | 650 | ||
651 | idesc = irq_desc + irq; | 651 | idesc = irq_desc + irq; |
652 | if (irq_type != NULL && idesc->chip != irq_type) { | 652 | if (irq_type != NULL && idesc->chip != irq_type) { |
653 | if (idesc->chip != &no_irq_type) | 653 | if (idesc->chip != &no_irq_chip) |
654 | printk(KERN_WARNING | 654 | printk(KERN_WARNING |
655 | "%s: changing vector %d from %s to %s\n", | 655 | "%s: changing vector %d from %s to %s\n", |
656 | __func__, irq_to_vector(irq), | 656 | __func__, irq_to_vector(irq), |
@@ -828,7 +828,7 @@ iosapic_unregister_intr (unsigned int gsi) | |||
828 | { | 828 | { |
829 | unsigned long flags; | 829 | unsigned long flags; |
830 | int irq, index; | 830 | int irq, index; |
831 | irq_desc_t *idesc; | 831 | struct irq_desc *idesc; |
832 | u32 low32; | 832 | u32 low32; |
833 | unsigned long trigger, polarity; | 833 | unsigned long trigger, polarity; |
834 | unsigned int dest; | 834 | unsigned int dest; |
@@ -1072,6 +1072,10 @@ iosapic_init (unsigned long phys_addr, unsigned int gsi_base) | |||
1072 | } | 1072 | } |
1073 | 1073 | ||
1074 | addr = ioremap(phys_addr, 0); | 1074 | addr = ioremap(phys_addr, 0); |
1075 | if (addr == NULL) { | ||
1076 | spin_unlock_irqrestore(&iosapic_lock, flags); | ||
1077 | return -ENOMEM; | ||
1078 | } | ||
1075 | ver = iosapic_version(addr); | 1079 | ver = iosapic_version(addr); |
1076 | if ((err = iosapic_check_gsi_range(gsi_base, ver))) { | 1080 | if ((err = iosapic_check_gsi_range(gsi_base, ver))) { |
1077 | iounmap(addr); | 1081 | iounmap(addr); |