History

Merge tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management and ACPI material from Rafael J Wysocki: "These are fixes (operating performance points library, cpufreq-dt driver, cpufreq core, ACPI backlight, cpupower tool), cleanups (cpuidle), new processor IDs for the RAPL (Running Average Power Limit) power capping driver, and a modification of the generic power domains framework allowing modular drivers to call one of its helper functions. Specifics: - Fix for a potential NULL pointer dereference in the cpufreq core due to an initialization race condition (Ethan Zhao). - Fixes for abuse of the OPP (Operating Performance Points) API related to RCU and other minor issues in the OPP library and the cpufreq-dt driver (Dmitry Torokhov). - cpuidle governors cleanup making them measure idle duration in a better way without using the CPUIDLE_FLAG_TIME_INVALID flag which allows that flag to be dropped from the ACPI cpuidle driver and from the core too (Len Brown). - New ACPI backlight blacklist entries for Samsung machines without a working native backlight interface that need to use the ACPI backlight instead (Aaron Lu). - New CPU IDs of future Intel Xeon CPUs for the Intel RAPL power capping driver (Jacob Pan). - Generic power domains framework modification to export the of_genpd_get_from_provider() function to modular drivers that will allow future driver modifications to be based on the mainline (Amit Daniel Kachhap). - Two fixes for the cpupower tool (Michal Privoznik, Prarit Bhargava)" * tag 'pm+acpi-3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / video: Add some Samsung models to disable_native_backlight list tools / cpupower: Fix no idle state information return value tools / cpupower: Correctly detect if running as root cpufreq: fix a NULL pointer dereference in __cpufreq_governor() cpufreq-dt: defer probing if OPP table is not ready PM / OPP: take RCU lock in dev_pm_opp_get_opp_count PM / OPP: fix warning in of_free_opp_table() PM / OPP: add some lockdep annotations powercap / RAPL: add IDs for future Xeon CPUs PM / Domains: Export of_genpd_get_from_provider function cpuidle / ACPI: remove unused CPUIDLE_FLAG_TIME_INVALID cpuidle: ladder: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID cpuidle: menu: Better idle duration measurement without using CPUIDLE_FLAG_TIME_INVALID

Linus Torvalds committed 11 years ago

Commit df90dcd2 parents 346eef2 651c32913 files · +89 −37Browse files

Showing the changes to include/linux (2 of 13 files). Show all

Unified · Split

2 files
  1. include/linux/cpuidle.h +0 −3
  2. include/linux/pm_domain.h +8 −0
include/linux/cpuidle.h+0−3
@@ -53,7 +53,6 @@ struct cpuidle_state { · 52 unmodified lines
53};53};
54 54
55/* Idle State Flags */55/* Idle State Flags */
56#define CPUIDLE_FLAG_TIME_INVALID (0x01) /* is residency time measurable? */
57#define CPUIDLE_FLAG_COUPLED (0x02) /* state applies to multiple cpus */56#define CPUIDLE_FLAG_COUPLED (0x02) /* state applies to multiple cpus */
58#define CPUIDLE_FLAG_TIMER_STOP (0x04) /* timer is stopped on this state */57#define CPUIDLE_FLAG_TIMER_STOP (0x04) /* timer is stopped on this state */
59 58
@@ -89,8 +88,6 @@ DECLARE_PER_CPU(struct cpuidle_device, cpuidle_dev); · 29 unmodified lines
89/**88/**
90 * cpuidle_get_last_residency - retrieves the last state's residency time89 * cpuidle_get_last_residency - retrieves the last state's residency time
91 * @dev: the target CPU90 * @dev: the target CPU
92 *
93 * NOTE: this value is invalid if CPUIDLE_FLAG_TIME_INVALID is set
94 */91 */
95static inline int cpuidle_get_last_residency(struct cpuidle_device *dev)92static inline int cpuidle_get_last_residency(struct cpuidle_device *dev)
96{93{
include/linux/pm_domain.h+8−0
@@ -271,6 +271,8 @@ typedef struct generic_pm_domain *(*genpd_xlate_t)(struct of_phandle_args *args, · 270 unmodified lines
271int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,271int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
272 void *data);272 void *data);
273void of_genpd_del_provider(struct device_node *np);273void of_genpd_del_provider(struct device_node *np);
274struct generic_pm_domain *of_genpd_get_from_provider(
275 struct of_phandle_args *genpdspec);
274 276
275struct generic_pm_domain *__of_genpd_xlate_simple(277struct generic_pm_domain *__of_genpd_xlate_simple(
276 struct of_phandle_args *genpdspec,278 struct of_phandle_args *genpdspec,
@@ -288,6 +290,12 @@ static inline int __of_genpd_add_provider(struct device_node *np, · 11 unmodified lines
288}290}
289static inline void of_genpd_del_provider(struct device_node *np) {}291static inline void of_genpd_del_provider(struct device_node *np) {}
290 292
293static inline struct generic_pm_domain *of_genpd_get_from_provider(
294 struct of_phandle_args *genpdspec)
295{
296 return NULL;
297}
298
291#define __of_genpd_xlate_simple NULL299#define __of_genpd_xlate_simple NULL
292#define __of_genpd_xlate_onecell NULL300#define __of_genpd_xlate_onecell NULL
293 301