aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/iosapic.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-09-07 02:19:51 -0400
committerIngo Molnar <mingo@elte.hu>2009-09-07 02:19:51 -0400
commita1922ed661ab2c1637d0b10cde933bd9cd33d965 (patch)
tree0f1777542b385ebefd30b3586d830fd8ed6fda5b /arch/ia64/kernel/iosapic.c
parent75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf (diff)
parentd28daf923ac5e4a0d7cecebae56f3e339189366b (diff)
Merge branch 'tracing/core' into tracing/hw-breakpoints
Conflicts: arch/Kconfig kernel/trace/trace.h Merge reason: resolve the conflicts, plus adopt to the new ring-buffer APIs. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/ia64/kernel/iosapic.c')
-rw-r--r--arch/ia64/kernel/iosapic.c14
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)
451static void 451static void
452iosapic_ack_edge_irq (unsigned int irq) 452iosapic_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
600register_intr (unsigned int gsi, int irq, unsigned char delivery, 600register_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);