aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ia64/Kconfig1
-rw-r--r--arch/ia64/kernel/iosapic.c2
-rw-r--r--arch/ia64/kernel/irq_ia64.c7
3 files changed, 5 insertions, 5 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 12c3afee0f6f..2f3abcf8f6bc 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -32,6 +32,7 @@ config IA64
32 select GENERIC_IRQ_PROBE 32 select GENERIC_IRQ_PROBE
33 select GENERIC_PENDING_IRQ if SMP 33 select GENERIC_PENDING_IRQ if SMP
34 select GENERIC_IRQ_SHOW 34 select GENERIC_IRQ_SHOW
35 select GENERIC_IRQ_LEGACY
35 select ARCH_WANT_OPTIONAL_GPIOLIB 36 select ARCH_WANT_OPTIONAL_GPIOLIB
36 select ARCH_HAVE_NMI_SAFE_CMPXCHG 37 select ARCH_HAVE_NMI_SAFE_CMPXCHG
37 select GENERIC_IOMAP 38 select GENERIC_IOMAP
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index 19f107be734e..cd44a57c73be 100644
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
@@ -735,7 +735,7 @@ iosapic_register_intr (unsigned int gsi,
735 rte = find_rte(irq, gsi); 735 rte = find_rte(irq, gsi);
736 if(iosapic_intr_info[irq].count == 0) { 736 if(iosapic_intr_info[irq].count == 0) {
737 assign_irq_vector(irq); 737 assign_irq_vector(irq);
738 dynamic_irq_init(irq); 738 irq_init_desc(irq);
739 } else if (rte->refcnt != NO_REF_RTE) { 739 } else if (rte->refcnt != NO_REF_RTE) {
740 rte->refcnt++; 740 rte->refcnt++;
741 goto unlock_iosapic_lock; 741 goto unlock_iosapic_lock;
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 5774c3b65fe5..03ea78ed64a9 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -382,8 +382,7 @@ void destroy_and_reserve_irq(unsigned int irq)
382{ 382{
383 unsigned long flags; 383 unsigned long flags;
384 384
385 dynamic_irq_cleanup(irq); 385 irq_init_desc(irq);
386
387 spin_lock_irqsave(&vector_lock, flags); 386 spin_lock_irqsave(&vector_lock, flags);
388 __clear_irq_vector(irq); 387 __clear_irq_vector(irq);
389 irq_status[irq] = IRQ_RSVD; 388 irq_status[irq] = IRQ_RSVD;
@@ -416,13 +415,13 @@ int create_irq(void)
416 out: 415 out:
417 spin_unlock_irqrestore(&vector_lock, flags); 416 spin_unlock_irqrestore(&vector_lock, flags);
418 if (irq >= 0) 417 if (irq >= 0)
419 dynamic_irq_init(irq); 418 irq_init_desc(irq);
420 return irq; 419 return irq;
421} 420}
422 421
423void destroy_irq(unsigned int irq) 422void destroy_irq(unsigned int irq)
424{ 423{
425 dynamic_irq_cleanup(irq); 424 irq_init_desc(irq);
426 clear_irq_vector(irq); 425 clear_irq_vector(irq);
427} 426}
428 427