Merge tag 'pm-5.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more power management updates from Rafael Wysocki: "These are mostly fixes and cleanups on top of the previously merged power management material for 5.1-rc1 with one cpupower utility update that wasn't pushed earlier due to unfortunate timing. Specifics: - Fix registration of new cpuidle governors partially broken during the 5.0 development cycle by mistake (Rafael Wysocki). - Avoid integer overflows in the menu cpuidle governor by making it discard the overflowing data points upfront (Rafael Wysocki). - Fix minor mistake in the recent update of the iowait boost computation in the intel_pstate driver (Rafael Wysocki). - Drop incorrect __init annotation from one function in the pxa2xx cpufreq driver (Arnd Bergmann). - Fix the operating performance points (OPP) framework initialization for devices in multiple power domains if only one of them is scalable (Rajendra Nayak). - Fix mistake in dev_pm_opp_set_rate() which causes it to skip updating the performance state if the new frequency is the same as the old one (Viresh Kumar). - Rework the cancellation of wakeup source timers to avoid potential issues with it and do some cleanups unlocked by that change (Viresh Kumar, Rafael Wysocki). - Clean up the code computing the active/suspended time of devices in the PM-runtime framework after recent changes (Ulf Hansson). - Make the power management infrastructure code use pr_fmt() consistently (Joe Perches). - Clean up the generic power domains (genpd) framework somewhat (Aisheng Dong). - Improve kerneldoc comments for two functions in the cpufreq core (Rafael Wysocki). - Fix typo in a PM QoS file description comment (Aisheng Dong). - Update the handling of CPU boost frequencies in the cpupower utility (Abhishek Goel)" * tag 'pm-5.1-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: cpuidle: governor: Add new governors to cpuidle_governors again cpufreq: intel_pstate: Fix up iowait_boost computation PM / OPP: Update performance state when freq == old_freq PM / wakeup: Drop wakeup_source_drop() PM / wakeup: Rework wakeup source timer cancellation PM / domains: Remove one unnecessary blank line PM / Domains: Return early for all errors in _genpd_power_off() PM / Domains: Improve warn for multiple states but no governor OPP: Fix handling of multiple power domains PM / QoS: Fix typo in file description cpufreq: pxa2xx: remove incorrect __init annotation PM-runtime: Call pm_runtime_active|suspended_time() from sysfs PM-runtime: Consolidate code to get active/suspended time PM: Add and use pr_fmt() cpufreq: Improve kerneldoc comments for cpufreq_cpu_get/put() cpuidle: menu: Avoid overflows when computing variance tools/power/cpupower: Display boost frequency separately
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
* subsystem list maintains.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) "PM: " fmt
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/mutex.h>
|
||||
@@ -128,7 +130,7 @@ void device_pm_add(struct device *dev)
|
||||
if (device_pm_not_required(dev))
|
||||
return;
|
||||
|
||||
pr_debug("PM: Adding info for %s:%s\n",
|
||||
pr_debug("Adding info for %s:%s\n",
|
||||
dev->bus ? dev->bus->name : "No Bus", dev_name(dev));
|
||||
device_pm_check_callbacks(dev);
|
||||
mutex_lock(&dpm_list_mtx);
|
||||
@@ -149,7 +151,7 @@ void device_pm_remove(struct device *dev)
|
||||
if (device_pm_not_required(dev))
|
||||
return;
|
||||
|
||||
pr_debug("PM: Removing info for %s:%s\n",
|
||||
pr_debug("Removing info for %s:%s\n",
|
||||
dev->bus ? dev->bus->name : "No Bus", dev_name(dev));
|
||||
complete_all(&dev->power.completion);
|
||||
mutex_lock(&dpm_list_mtx);
|
||||
@@ -168,7 +170,7 @@ void device_pm_remove(struct device *dev)
|
||||
*/
|
||||
void device_pm_move_before(struct device *deva, struct device *devb)
|
||||
{
|
||||
pr_debug("PM: Moving %s:%s before %s:%s\n",
|
||||
pr_debug("Moving %s:%s before %s:%s\n",
|
||||
deva->bus ? deva->bus->name : "No Bus", dev_name(deva),
|
||||
devb->bus ? devb->bus->name : "No Bus", dev_name(devb));
|
||||
/* Delete deva from dpm_list and reinsert before devb. */
|
||||
@@ -182,7 +184,7 @@ void device_pm_move_before(struct device *deva, struct device *devb)
|
||||
*/
|
||||
void device_pm_move_after(struct device *deva, struct device *devb)
|
||||
{
|
||||
pr_debug("PM: Moving %s:%s after %s:%s\n",
|
||||
pr_debug("Moving %s:%s after %s:%s\n",
|
||||
deva->bus ? deva->bus->name : "No Bus", dev_name(deva),
|
||||
devb->bus ? devb->bus->name : "No Bus", dev_name(devb));
|
||||
/* Delete deva from dpm_list and reinsert after devb. */
|
||||
@@ -195,7 +197,7 @@ void device_pm_move_after(struct device *deva, struct device *devb)
|
||||
*/
|
||||
void device_pm_move_last(struct device *dev)
|
||||
{
|
||||
pr_debug("PM: Moving %s:%s to end of list\n",
|
||||
pr_debug("Moving %s:%s to end of list\n",
|
||||
dev->bus ? dev->bus->name : "No Bus", dev_name(dev));
|
||||
list_move_tail(&dev->power.entry, &dpm_list);
|
||||
}
|
||||
@@ -418,8 +420,8 @@ static void pm_dev_dbg(struct device *dev, pm_message_t state, const char *info)
|
||||
static void pm_dev_err(struct device *dev, pm_message_t state, const char *info,
|
||||
int error)
|
||||
{
|
||||
printk(KERN_ERR "PM: Device %s failed to %s%s: error %d\n",
|
||||
dev_name(dev), pm_verb(state.event), info, error);
|
||||
pr_err("Device %s failed to %s%s: error %d\n",
|
||||
dev_name(dev), pm_verb(state.event), info, error);
|
||||
}
|
||||
|
||||
static void dpm_show_time(ktime_t starttime, pm_message_t state, int error,
|
||||
@@ -2022,8 +2024,7 @@ int dpm_prepare(pm_message_t state)
|
||||
error = 0;
|
||||
continue;
|
||||
}
|
||||
printk(KERN_INFO "PM: Device %s not prepared "
|
||||
"for power transition: code %d\n",
|
||||
pr_info("Device %s not prepared for power transition: code %d\n",
|
||||
dev_name(dev), error);
|
||||
put_device(dev);
|
||||
break;
|
||||
@@ -2062,7 +2063,7 @@ EXPORT_SYMBOL_GPL(dpm_suspend_start);
|
||||
void __suspend_report_result(const char *function, void *fn, int ret)
|
||||
{
|
||||
if (ret)
|
||||
printk(KERN_ERR "%s(): %pF returns %d\n", function, fn, ret);
|
||||
pr_err("%s(): %pF returns %d\n", function, fn, ret);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__suspend_report_result);
|
||||
|
||||
|
Reference in New Issue
Block a user