aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/iosapic.c
diff options
context:
space:
mode:
authorKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-13 21:00:55 -0400
committerKyle McMartin <kyle@dreadnought.i.jkkm.org>2010-10-14 01:30:11 -0400
commitba20085c20f1c9e8af546dea6ad0efa421bdef32 (patch)
treea5f0574f6b1e60526eb7d1b1e1a50125f10d463c /drivers/parisc/iosapic.c
parentcaf96194c05cd97ce96546fbcb1f35ec06aaaac7 (diff)
parisc: lay groundwork for killing __do_IRQ
Use proper accessors and handlers for generic irq cleanups. We just call back into __do_IRQ through desc->handler now, and remove the explicit calls. Signed-off-by: Kyle McMartin <kyle@redhat.com>
Diffstat (limited to 'drivers/parisc/iosapic.c')
-rw-r--r--drivers/parisc/iosapic.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index c76836727cae..10348c9a22c9 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -615,17 +615,10 @@ iosapic_set_irt_data( struct vector_info *vi, u32 *dp0, u32 *dp1)
615} 615}
616 616
617 617
618static struct vector_info *iosapic_get_vector(unsigned int irq)
619{
620 struct irq_desc *desc = irq_to_desc(irq);
621
622 return desc->chip_data;
623}
624
625static void iosapic_disable_irq(unsigned int irq) 618static void iosapic_disable_irq(unsigned int irq)
626{ 619{
627 unsigned long flags; 620 unsigned long flags;
628 struct vector_info *vi = iosapic_get_vector(irq); 621 struct vector_info *vi = get_irq_chip_data(irq);
629 u32 d0, d1; 622 u32 d0, d1;
630 623
631 spin_lock_irqsave(&iosapic_lock, flags); 624 spin_lock_irqsave(&iosapic_lock, flags);
@@ -637,7 +630,7 @@ static void iosapic_disable_irq(unsigned int irq)
637 630
638static void iosapic_enable_irq(unsigned int irq) 631static void iosapic_enable_irq(unsigned int irq)
639{ 632{
640 struct vector_info *vi = iosapic_get_vector(irq); 633 struct vector_info *vi = get_irq_chip_data(irq);
641 u32 d0, d1; 634 u32 d0, d1;
642 635
643 /* data is initialized by fixup_irq */ 636 /* data is initialized by fixup_irq */
@@ -688,7 +681,7 @@ printk("\n");
688 */ 681 */
689static void iosapic_end_irq(unsigned int irq) 682static void iosapic_end_irq(unsigned int irq)
690{ 683{
691 struct vector_info *vi = iosapic_get_vector(irq); 684 struct vector_info *vi = get_irq_chip_data(irq);
692 DBG(KERN_DEBUG "end_irq(%d): eoi(%p, 0x%x)\n", irq, 685 DBG(KERN_DEBUG "end_irq(%d): eoi(%p, 0x%x)\n", irq,
693 vi->eoi_addr, vi->eoi_data); 686 vi->eoi_addr, vi->eoi_data);
694 iosapic_eoi(vi->eoi_addr, vi->eoi_data); 687 iosapic_eoi(vi->eoi_addr, vi->eoi_data);
@@ -705,7 +698,7 @@ static unsigned int iosapic_startup_irq(unsigned int irq)
705static int iosapic_set_affinity_irq(unsigned int irq, 698static int iosapic_set_affinity_irq(unsigned int irq,
706 const struct cpumask *dest) 699 const struct cpumask *dest)
707{ 700{
708 struct vector_info *vi = iosapic_get_vector(irq); 701 struct vector_info *vi = get_irq_chip_data(irq);
709 u32 d0, d1, dummy_d0; 702 u32 d0, d1, dummy_d0;
710 unsigned long flags; 703 unsigned long flags;
711 int dest_cpu; 704 int dest_cpu;