ACPI and power management fixes for 3.14-rc6

 - ACPI tables in some BIOSes list device resources with size equal
   to 0, which doesn't make sense, so we should ignore them, but
   instead we try to use them and mangle things completely.  Fix
   from Zhang Rui.

 - Several models of Samsung laptops accumulate EC events when they
   are in sleep states which leads to EC buffer overflows that prevent
   new events from being signaled after system resume or reboot.  This
   has been affecting many users for quite a while and may be addressed
   by clearing the EC buffer during system resume and system startup on
   those machines.  From Kieran Clancy.

 - If the ACPI sleep control and status registers are not present
   (which  happens if the Hardware Reduced ACPI mode bit is set in
   the ACPI tables, but also may result from BIOS bugs), we should
   not try to use ACPI to power off the system and ACPI S5 should
   not be listed as supported.  Fix from Aubrey Li.

 - There's a race condition in cpufreq_get() that leads to a kernel
   crash if that function is called at a wrong time.  Fix from
   Aaron Plattner.

 - cpufreq policy objects have to be initialized entirely before
   they are first accessed by their users which isn't the case
   currently and that potentially leads to various kinds of
   breakage that is difficult to debug.  Fix from Viresh Kumar.

 - Locking is missing in __cpufreq_add_dev() which leads to a race
   condition that may trigger a kernel crash.  Fix from Viresh Kumar.

/
Merge branch 'pm-cpufreq'

* pm-cpufreq:
  cpufreq: Initialize governor for a new policy under policy->rwsem
  cpufreq: Initialize policy before making it available for others to use
  cpufreq: use cpufreq_cpu_get() to avoid cpufreq_get() race conditions