ACPI and power management fixes for 3.12-rc1

 1) ACPI-based PCI hotplug (ACPIPHP) fixes related to spurious events

  After the recent ACPIPHP changes we've seen some interesting breakage
  on a system that triggers device check notifications during boot for
  non-existing devices.  Although those notifications are really
  spurious, we should be able to deal with them nevertheless and that
  shouldn't introduce too much overhead.  Four commits to make that
  work properly.

 2) Memory hotplug and hibernation mutual exclusion rework

  This was maent to be a cleanup, but it happens to fix a classical
  ABBA deadlock between system suspend/hibernation and ACPI memory
  hotplug which is possible if they are started roughly at the same
  time.  Three commits rework memory hotplug so that it doesn't
  acquire pm_mutex and make hibernation use device_hotplug_lock
  which prevents it from racing with memory hotplug.

 3) ACPI Intel LPSS (Low-Power Subsystem) driver crash fix

  The ACPI LPSS driver crashes during boot on Apple Macbook Air with
  Haswell that has slightly unusual BIOS configuration in which one
  of the LPSS device's _CRS method doesn't return all of the information
  expected by the driver.  Fix from Mika Westerberg, for stable.

 4) ACPICA fix related to Store->ArgX operation

  AML interpreter fix for obscure breakage that causes AML to be
  executed incorrectly on some machines (observed in practice).  From
  Bob Moore.

 5) ACPI core fix for PCI ACPI device objects lookup

  There still are cases in which there is more than one ACPI device
  object matching a given PCI device and we don't choose the one that
  the BIOS expects us to choose, so this makes the lookup take more
  criteria into account in those cases.

 6) Fix to prevent cpuidle from crashing in some rare cases

  If the result of cpuidle_get_driver() is NULL, which can happen on
  some systems, cpuidle_driver_ref() will crash trying to use that
  pointer and the Daniel Fu's fix prevents that from happening.

 7) cpufreq fixes related to CPU hotplug

  Stephen Boyd reported a number of concurrency problems with cpufreq
  related to CPU hotplug which are addressed by a series of fixes
  from Srivatsa S Bhat and Viresh Kumar.

 8) cpufreq fix for time conversion in time_in_state attribute

  Time conversion carried out by cpufreq when user space attempts to
  read /sys/devices/system/cpu/cpu*/cpufreq/stats/time_in_state won't
  work correcty if cputime_t doesn't map directly to jiffies.  Fix
  from Andreas Schwab.

 9) Revert of a troublesome cpufreq commit

  Commit 7c30ed5 (cpufreq: make sure frequency transitions are
  serialized) was intended to address some known concurrency problems
  in cpufreq related to the ordering of transitions, but unfortunately
  it introduced several problems of its own, so I decided to revert it
  now and address the original problems later in a more robust way.

10) Intel Haswell CPU models for intel_pstate from Nell Hardcastle.

11) cpufreq fixes related to system suspend/resume

  The recent cpufreq changes that made it preserve CPU sysfs attributes
  over suspend/resume cycles introduced a possible NULL pointer
  dereference that caused it to crash during the second attempt to
  suspend.  Three commits from Srivatsa S Bhat fix that problem and a
  couple of related issues.

12) cpufreq locking fix

  cpufreq_policy_restore() should acquire the lock for reading, but
  it acquires it for writing.  Fix from Lan Tianyu.

/
Merge branch 'pm-cpufreq'

* pm-cpufreq:
  cpufreq: Acquire the lock in cpufreq_policy_restore() for reading
  cpufreq: Prevent problems in update_policy_cpu() if last_cpu == new_cpu
  cpufreq: Restructure if/else block to avoid unintended behavior
  cpufreq: Fix crash in cpufreq-stats during suspend/resume