powerpc: Replace __get_cpu_var uses
[pandora-kernel.git] / arch / powerpc / kernel / time.c
index 368ab37..4769e5b 100644 (file)
@@ -458,9 +458,9 @@ static inline void clear_irq_work_pending(void)
 
 DEFINE_PER_CPU(u8, irq_work_pending);
 
-#define set_irq_work_pending_flag()    __get_cpu_var(irq_work_pending) = 1
-#define test_irq_work_pending()                __get_cpu_var(irq_work_pending)
-#define clear_irq_work_pending()       __get_cpu_var(irq_work_pending) = 0
+#define set_irq_work_pending_flag()    __this_cpu_write(irq_work_pending, 1)
+#define test_irq_work_pending()                __this_cpu_read(irq_work_pending)
+#define clear_irq_work_pending()       __this_cpu_write(irq_work_pending, 0)
 
 #endif /* 32 vs 64 bit */
 
@@ -482,8 +482,8 @@ void arch_irq_work_raise(void)
 void __timer_interrupt(void)
 {
        struct pt_regs *regs = get_irq_regs();
-       u64 *next_tb = &__get_cpu_var(decrementers_next_tb);
-       struct clock_event_device *evt = &__get_cpu_var(decrementers);
+       u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);
+       struct clock_event_device *evt = this_cpu_ptr(&decrementers);
        u64 now;
 
        trace_timer_interrupt_entry(regs);
@@ -498,7 +498,7 @@ void __timer_interrupt(void)
                *next_tb = ~(u64)0;
                if (evt->event_handler)
                        evt->event_handler(evt);
-               __get_cpu_var(irq_stat).timer_irqs_event++;
+               __this_cpu_inc(irq_stat.timer_irqs_event);
        } else {
                now = *next_tb - now;
                if (now <= DECREMENTER_MAX)
@@ -506,13 +506,13 @@ void __timer_interrupt(void)
                /* We may have raced with new irq work */
                if (test_irq_work_pending())
                        set_dec(1);
-               __get_cpu_var(irq_stat).timer_irqs_others++;
+               __this_cpu_inc(irq_stat.timer_irqs_others);
        }
 
 #ifdef CONFIG_PPC64
        /* collect purr register values often, for accurate calculations */
        if (firmware_has_feature(FW_FEATURE_SPLPAR)) {
-               struct cpu_usage *cu = &__get_cpu_var(cpu_usage_array);
+               struct cpu_usage *cu = this_cpu_ptr(&cpu_usage_array);
                cu->current_tb = mfspr(SPRN_PURR);
        }
 #endif
@@ -527,7 +527,7 @@ void __timer_interrupt(void)
 void timer_interrupt(struct pt_regs * regs)
 {
        struct pt_regs *old_regs;
-       u64 *next_tb = &__get_cpu_var(decrementers_next_tb);
+       u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);
 
        /* Ensure a positive value is written to the decrementer, or else
         * some CPUs will continue to take decrementer exceptions.
@@ -813,7 +813,7 @@ static void __init clocksource_init(void)
 static int decrementer_set_next_event(unsigned long evt,
                                      struct clock_event_device *dev)
 {
-       __get_cpu_var(decrementers_next_tb) = get_tb_or_rtc() + evt;
+       __this_cpu_write(decrementers_next_tb, get_tb_or_rtc() + evt);
        set_dec(evt);
 
        /* We may have raced with new irq work */
@@ -833,7 +833,7 @@ static void decrementer_set_mode(enum clock_event_mode mode,
 /* Interrupt handler for the timer broadcast IPI */
 void tick_broadcast_ipi_handler(void)
 {
-       u64 *next_tb = &__get_cpu_var(decrementers_next_tb);
+       u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);
 
        *next_tb = get_tb_or_rtc();
        __timer_interrupt();