diff options
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/kernel/irq_64.c | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/time_64.c | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c index 8ba064f08a6f..d0d6a515499a 100644 --- a/arch/sparc/kernel/irq_64.c +++ b/arch/sparc/kernel/irq_64.c | |||
@@ -252,9 +252,10 @@ struct irq_handler_data { | |||
252 | #ifdef CONFIG_SMP | 252 | #ifdef CONFIG_SMP |
253 | static int irq_choose_cpu(unsigned int virt_irq) | 253 | static int irq_choose_cpu(unsigned int virt_irq) |
254 | { | 254 | { |
255 | cpumask_t mask = irq_desc[virt_irq].affinity; | 255 | cpumask_t mask; |
256 | int cpuid; | 256 | int cpuid; |
257 | 257 | ||
258 | cpumask_copy(&mask, irq_desc[virt_irq].affinity); | ||
258 | if (cpus_equal(mask, CPU_MASK_ALL)) { | 259 | if (cpus_equal(mask, CPU_MASK_ALL)) { |
259 | static int irq_rover; | 260 | static int irq_rover; |
260 | static DEFINE_SPINLOCK(irq_rover_lock); | 261 | static DEFINE_SPINLOCK(irq_rover_lock); |
@@ -805,7 +806,7 @@ void fixup_irqs(void) | |||
805 | !(irq_desc[irq].status & IRQ_PER_CPU)) { | 806 | !(irq_desc[irq].status & IRQ_PER_CPU)) { |
806 | if (irq_desc[irq].chip->set_affinity) | 807 | if (irq_desc[irq].chip->set_affinity) |
807 | irq_desc[irq].chip->set_affinity(irq, | 808 | irq_desc[irq].chip->set_affinity(irq, |
808 | &irq_desc[irq].affinity); | 809 | irq_desc[irq].affinity); |
809 | } | 810 | } |
810 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); | 811 | spin_unlock_irqrestore(&irq_desc[irq].lock, flags); |
811 | } | 812 | } |
diff --git a/arch/sparc/kernel/time_64.c b/arch/sparc/kernel/time_64.c index 4ee2e48c4b39..db310aa00183 100644 --- a/arch/sparc/kernel/time_64.c +++ b/arch/sparc/kernel/time_64.c | |||
@@ -36,10 +36,10 @@ | |||
36 | #include <linux/clocksource.h> | 36 | #include <linux/clocksource.h> |
37 | #include <linux/of_device.h> | 37 | #include <linux/of_device.h> |
38 | #include <linux/platform_device.h> | 38 | #include <linux/platform_device.h> |
39 | #include <linux/irq.h> | ||
40 | 39 | ||
41 | #include <asm/oplib.h> | 40 | #include <asm/oplib.h> |
42 | #include <asm/timer.h> | 41 | #include <asm/timer.h> |
42 | #include <asm/irq.h> | ||
43 | #include <asm/io.h> | 43 | #include <asm/io.h> |
44 | #include <asm/prom.h> | 44 | #include <asm/prom.h> |
45 | #include <asm/starfire.h> | 45 | #include <asm/starfire.h> |
@@ -724,14 +724,12 @@ void timer_interrupt(int irq, struct pt_regs *regs) | |||
724 | unsigned long tick_mask = tick_ops->softint_mask; | 724 | unsigned long tick_mask = tick_ops->softint_mask; |
725 | int cpu = smp_processor_id(); | 725 | int cpu = smp_processor_id(); |
726 | struct clock_event_device *evt = &per_cpu(sparc64_events, cpu); | 726 | struct clock_event_device *evt = &per_cpu(sparc64_events, cpu); |
727 | struct irq_desc *desc; | ||
728 | 727 | ||
729 | clear_softint(tick_mask); | 728 | clear_softint(tick_mask); |
730 | 729 | ||
731 | irq_enter(); | 730 | irq_enter(); |
732 | 731 | ||
733 | desc = irq_to_desc(0); | 732 | kstat_incr_irqs_this_cpu(0, irq_to_desc(0)); |
734 | kstat_incr_irqs_this_cpu(0, desc); | ||
735 | 733 | ||
736 | if (unlikely(!evt->event_handler)) { | 734 | if (unlikely(!evt->event_handler)) { |
737 | printk(KERN_WARNING | 735 | printk(KERN_WARNING |