Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 16 Dec 2014 22:12:33 +0000 (14:12 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 16 Dec 2014 22:12:33 +0000 (14:12 -0800)
Pull arm64 fixes from Will Deacon:
 "Given that my availability next week is likely to be poor, here are
  three arm64 fixes to resolve some issues introduced by features merged
  last week.  I was going to wait until -rc1, but it doesn't make much
  sense to sit on fixes.

  Fix some fallout introduced during the merge window:

   - Build failure when PM_SLEEP is disabled but CPU_IDLE is enabled
   - Compiler warning from page table dumper w/ 48-bit VAs
   - Erroneous page table truncation in reported dump"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: mm: dump: don't skip final region
  arm64: mm: dump: fix shift warning
  arm64: psci: Fix build breakage without PM_SLEEP

1  2 
arch/arm64/kernel/psci.c

diff --combined arch/arm64/kernel/psci.c
@@@ -511,7 -511,7 +511,7 @@@ static int cpu_psci_cpu_kill(unsigned i
  
  static int psci_suspend_finisher(unsigned long index)
  {
 -      struct psci_power_state *state = __get_cpu_var(psci_power_state);
 +      struct psci_power_state *state = __this_cpu_read(psci_power_state);
  
        return psci_ops.cpu_suspend(state[index - 1],
                                    virt_to_phys(cpu_resume));
  static int __maybe_unused cpu_psci_cpu_suspend(unsigned long index)
  {
        int ret;
 -      struct psci_power_state *state = __get_cpu_var(psci_power_state);
 +      struct psci_power_state *state = __this_cpu_read(psci_power_state);
        /*
         * idle state index 0 corresponds to wfi, should never be called
         * from the cpu_suspend operations
        if (WARN_ON_ONCE(!index))
                return -EINVAL;
  
 -      if (state->type == PSCI_POWER_STATE_TYPE_STANDBY)
 +      if (state[index - 1].type == PSCI_POWER_STATE_TYPE_STANDBY)
                ret = psci_ops.cpu_suspend(state[index - 1], 0);
        else
                ret = __cpu_suspend(index, psci_suspend_finisher);
@@@ -540,6 -540,8 +540,8 @@@ const struct cpu_operations cpu_psci_op
        .name           = "psci",
  #ifdef CONFIG_CPU_IDLE
        .cpu_init_idle  = cpu_psci_cpu_init_idle,
+ #endif
+ #ifdef CONFIG_ARM64_CPU_SUSPEND
        .cpu_suspend    = cpu_psci_cpu_suspend,
  #endif
  #ifdef CONFIG_SMP