Commit 4f2f2777892fdfe5f6999ae6b882ba5c0fa4bd60

Authored by Rafael J. Wysocki

Merge branches 'pm-domains', 'powercap' and 'pm-tools'

* pm-domains:
  PM / Domains: Export of_genpd_get_from_provider function

* powercap:
  powercap / RAPL: add IDs for future Xeon CPUs

* pm-tools:
  tools / cpupower: Fix no idle state information return value
  tools / cpupower: Correctly detect if running as root

Showing 5 changed files Side-by-side Diff

drivers/base/power/domain.c
... ... @@ -2088,7 +2088,7 @@
2088 2088 * Returns a valid pointer to struct generic_pm_domain on success or ERR_PTR()
2089 2089 * on failure.
2090 2090 */
2091   -static struct generic_pm_domain *of_genpd_get_from_provider(
  2091 +struct generic_pm_domain *of_genpd_get_from_provider(
2092 2092 struct of_phandle_args *genpdspec)
2093 2093 {
2094 2094 struct generic_pm_domain *genpd = ERR_PTR(-ENOENT);
... ... @@ -2108,6 +2108,7 @@
2108 2108  
2109 2109 return genpd;
2110 2110 }
  2111 +EXPORT_SYMBOL_GPL(of_genpd_get_from_provider);
2111 2112  
2112 2113 /**
2113 2114 * genpd_dev_pm_detach - Detach a device from its PM domain.
drivers/powercap/intel_rapl.c
... ... @@ -1041,6 +1041,7 @@
1041 1041 RAPL_CPU(0x45, rapl_defaults_core),/* Haswell ULT */
1042 1042 RAPL_CPU(0x4C, rapl_defaults_atom),/* Braswell */
1043 1043 RAPL_CPU(0x4A, rapl_defaults_atom),/* Tangier */
  1044 + RAPL_CPU(0x56, rapl_defaults_core),/* Future Xeon */
1044 1045 RAPL_CPU(0x5A, rapl_defaults_atom),/* Annidale */
1045 1046 {}
1046 1047 };
include/linux/pm_domain.h
... ... @@ -271,6 +271,8 @@
271 271 int __of_genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
272 272 void *data);
273 273 void of_genpd_del_provider(struct device_node *np);
  274 +struct generic_pm_domain *of_genpd_get_from_provider(
  275 + struct of_phandle_args *genpdspec);
274 276  
275 277 struct generic_pm_domain *__of_genpd_xlate_simple(
276 278 struct of_phandle_args *genpdspec,
... ... @@ -287,6 +289,12 @@
287 289 return 0;
288 290 }
289 291 static inline void of_genpd_del_provider(struct device_node *np) {}
  292 +
  293 +static inline struct generic_pm_domain *of_genpd_get_from_provider(
  294 + struct of_phandle_args *genpdspec)
  295 +{
  296 + return NULL;
  297 +}
290 298  
291 299 #define __of_genpd_xlate_simple NULL
292 300 #define __of_genpd_xlate_onecell NULL
tools/power/cpupower/utils/cpupower.c
... ... @@ -199,7 +199,7 @@
199 199 }
200 200  
201 201 get_cpu_info(0, &cpupower_cpu_info);
202   - run_as_root = !getuid();
  202 + run_as_root = !geteuid();
203 203 if (run_as_root) {
204 204 ret = uname(&uts);
205 205 if (!ret && !strcmp(uts.machine, "x86_64") &&
tools/power/cpupower/utils/helpers/sysfs.c
... ... @@ -361,7 +361,7 @@
361 361  
362 362 snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU "cpuidle");
363 363 if (stat(file, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))
364   - return -ENODEV;
  364 + return 0;
365 365  
366 366 snprintf(file, SYSFS_PATH_MAX, PATH_TO_CPU "cpu%u/cpuidle/state0", cpu);
367 367 if (stat(file, &statbuf) != 0 || !S_ISDIR(statbuf.st_mode))