aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/parisc/iosapic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/parisc/iosapic.c')
-rw-r--r--drivers/parisc/iosapic.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index 0327894bf235..95930d016235 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -615,10 +615,10 @@ iosapic_set_irt_data( struct vector_info *vi, u32 *dp0, u32 *dp1)
615} 615}
616 616
617 617
618static void iosapic_mask_irq(unsigned int irq) 618static void iosapic_mask_irq(struct irq_data *d)
619{ 619{
620 unsigned long flags; 620 unsigned long flags;
621 struct vector_info *vi = get_irq_chip_data(irq); 621 struct vector_info *vi = irq_data_get_irq_chip_data(d);
622 u32 d0, d1; 622 u32 d0, d1;
623 623
624 spin_lock_irqsave(&iosapic_lock, flags); 624 spin_lock_irqsave(&iosapic_lock, flags);
@@ -628,9 +628,9 @@ static void iosapic_mask_irq(unsigned int irq)
628 spin_unlock_irqrestore(&iosapic_lock, flags); 628 spin_unlock_irqrestore(&iosapic_lock, flags);
629} 629}
630 630
631static void iosapic_unmask_irq(unsigned int irq) 631static void iosapic_unmask_irq(struct irq_data *d)
632{ 632{
633 struct vector_info *vi = get_irq_chip_data(irq); 633 struct vector_info *vi = irq_data_get_irq_chip_data(d);
634 u32 d0, d1; 634 u32 d0, d1;
635 635
636 /* data is initialized by fixup_irq */ 636 /* data is initialized by fixup_irq */
@@ -666,34 +666,34 @@ printk("\n");
666 * enables their IRQ. It can lead to "interesting" race conditions 666 * enables their IRQ. It can lead to "interesting" race conditions
667 * in the driver initialization sequence. 667 * in the driver initialization sequence.
668 */ 668 */
669 DBG(KERN_DEBUG "enable_irq(%d): eoi(%p, 0x%x)\n", irq, 669 DBG(KERN_DEBUG "enable_irq(%d): eoi(%p, 0x%x)\n", d->irq,
670 vi->eoi_addr, vi->eoi_data); 670 vi->eoi_addr, vi->eoi_data);
671 iosapic_eoi(vi->eoi_addr, vi->eoi_data); 671 iosapic_eoi(vi->eoi_addr, vi->eoi_data);
672} 672}
673 673
674static void iosapic_eoi_irq(unsigned int irq) 674static void iosapic_eoi_irq(struct irq_data *d)
675{ 675{
676 struct vector_info *vi = get_irq_chip_data(irq); 676 struct vector_info *vi = irq_data_get_irq_chip_data(d);
677 677
678 iosapic_eoi(vi->eoi_addr, vi->eoi_data); 678 iosapic_eoi(vi->eoi_addr, vi->eoi_data);
679 cpu_eoi_irq(irq); 679 cpu_eoi_irq(d);
680} 680}
681 681
682#ifdef CONFIG_SMP 682#ifdef CONFIG_SMP
683static int iosapic_set_affinity_irq(unsigned int irq, 683static int iosapic_set_affinity_irq(struct irq_data *d,
684 const struct cpumask *dest) 684 const struct cpumask *dest, bool force)
685{ 685{
686 struct vector_info *vi = get_irq_chip_data(irq); 686 struct vector_info *vi = irq_data_get_irq_chip_data(d);
687 u32 d0, d1, dummy_d0; 687 u32 d0, d1, dummy_d0;
688 unsigned long flags; 688 unsigned long flags;
689 int dest_cpu; 689 int dest_cpu;
690 690
691 dest_cpu = cpu_check_affinity(irq, dest); 691 dest_cpu = cpu_check_affinity(d, dest);
692 if (dest_cpu < 0) 692 if (dest_cpu < 0)
693 return -1; 693 return -1;
694 694
695 cpumask_copy(irq_desc[irq].affinity, cpumask_of(dest_cpu)); 695 cpumask_copy(d->affinity, cpumask_of(dest_cpu));
696 vi->txn_addr = txn_affinity_addr(irq, dest_cpu); 696 vi->txn_addr = txn_affinity_addr(d->irq, dest_cpu);
697 697
698 spin_lock_irqsave(&iosapic_lock, flags); 698 spin_lock_irqsave(&iosapic_lock, flags);
699 /* d1 contains the destination CPU, so only want to set that 699 /* d1 contains the destination CPU, so only want to set that
@@ -708,13 +708,13 @@ static int iosapic_set_affinity_irq(unsigned int irq,
708#endif 708#endif
709 709
710static struct irq_chip iosapic_interrupt_type = { 710static struct irq_chip iosapic_interrupt_type = {
711 .name = "IO-SAPIC-level", 711 .name = "IO-SAPIC-level",
712 .unmask = iosapic_unmask_irq, 712 .irq_unmask = iosapic_unmask_irq,
713 .mask = iosapic_mask_irq, 713 .irq_mask = iosapic_mask_irq,
714 .ack = cpu_ack_irq, 714 .irq_ack = cpu_ack_irq,
715 .eoi = iosapic_eoi_irq, 715 .irq_eoi = iosapic_eoi_irq,
716#ifdef CONFIG_SMP 716#ifdef CONFIG_SMP
717 .set_affinity = iosapic_set_affinity_irq, 717 .irq_set_affinity = iosapic_set_affinity_irq,
718#endif 718#endif
719}; 719};
720 720