static int ladder_select_state(struct cpuidle_driver *drv,
                                struct cpuidle_device *dev)
 {
-       struct ladder_device *ldev = &__get_cpu_var(ladder_devices);
+       struct ladder_device *ldev = this_cpu_ptr(&ladder_devices);
        struct ladder_device_state *last_state;
        int last_residency, last_idx = ldev->last_state_idx;
        int latency_req = pm_qos_request(PM_QOS_CPU_DMA_LATENCY);
  */
 static void ladder_reflect(struct cpuidle_device *dev, int index)
 {
-       struct ladder_device *ldev = &__get_cpu_var(ladder_devices);
+       struct ladder_device *ldev = this_cpu_ptr(&ladder_devices);
        if (index > 0)
                ldev->last_state_idx = index;
 }
 
  */
 static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev)
 {
-       struct menu_device *data = &__get_cpu_var(menu_devices);
+       struct menu_device *data = this_cpu_ptr(&menu_devices);
        int latency_req = pm_qos_request(PM_QOS_CPU_DMA_LATENCY);
        int i;
        unsigned int interactivity_req;
  */
 static void menu_reflect(struct cpuidle_device *dev, int index)
 {
-       struct menu_device *data = &__get_cpu_var(menu_devices);
+       struct menu_device *data = this_cpu_ptr(&menu_devices);
        data->last_state_idx = index;
        if (index >= 0)
                data->needs_update = 1;
  */
 static void menu_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
 {
-       struct menu_device *data = &__get_cpu_var(menu_devices);
+       struct menu_device *data = this_cpu_ptr(&menu_devices);
        int last_idx = data->last_state_idx;
        struct cpuidle_state *target = &drv->states[last_idx];
        unsigned int measured_us;