Browse Source

Merge branches 'pm-pci', 'pm-avs' and 'pm-docs'

* pm-pci:
  PCI / PM: Add dev_dbg() to print device suspend power states
  PCI / PM: Do not resume any devices in pci_pm_prepare()

* pm-avs:
  PM / AVS: Use %pS printk format for direct addresses

* pm-docs:
  PM: docs: Fix formatting typo in devices.rst
Rafael J. Wysocki 7 years ago
parent
commit
040e8a4a4c

+ 1 - 1
Documentation/driver-api/pm/devices.rst

@@ -274,7 +274,7 @@ sleep states and the hibernation state ("suspend-to-disk").  Each phase involves
 executing callbacks for every device before the next phase begins.  Not all
 executing callbacks for every device before the next phase begins.  Not all
 buses or classes support all these callbacks and not all drivers use all the
 buses or classes support all these callbacks and not all drivers use all the
 callbacks.  The various phases always run after tasks have been frozen and
 callbacks.  The various phases always run after tasks have been frozen and
-before they are unfrozen.  Furthermore, the ``*_noirq phases`` run at a time
+before they are unfrozen.  Furthermore, the ``*_noirq`` phases run at a time
 when IRQ handlers have been disabled (except for those marked with the
 when IRQ handlers have been disabled (except for those marked with the
 IRQF_NO_SUSPEND flag).
 IRQF_NO_SUSPEND flag).
 
 

+ 3 - 7
drivers/pci/pci-driver.c

@@ -680,13 +680,6 @@ static int pci_pm_prepare(struct device *dev)
 {
 {
 	struct device_driver *drv = dev->driver;
 	struct device_driver *drv = dev->driver;
 
 
-	/*
-	 * Devices having power.ignore_children set may still be necessary for
-	 * suspending their children in the next phase of device suspend.
-	 */
-	if (dev->power.ignore_children)
-		pm_runtime_resume(dev);
-
 	if (drv && drv->pm && drv->pm->prepare) {
 	if (drv && drv->pm && drv->pm->prepare) {
 		int error = drv->pm->prepare(dev);
 		int error = drv->pm->prepare(dev);
 		if (error)
 		if (error)
@@ -805,6 +798,9 @@ static int pci_pm_suspend_noirq(struct device *dev)
 			pci_prepare_to_sleep(pci_dev);
 			pci_prepare_to_sleep(pci_dev);
 	}
 	}
 
 
+	dev_dbg(dev, "PCI PM: Suspend power state: %s\n",
+		pci_power_name(pci_dev->current_state));
+
 	pci_pm_set_unknown_state(pci_dev);
 	pci_pm_set_unknown_state(pci_dev);
 
 
 	/*
 	/*

+ 5 - 5
drivers/power/avs/smartreflex.c

@@ -355,7 +355,7 @@ int sr_configure_errgen(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 	u8 senp_shift, senn_shift;
 
 
 	if (!sr) {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n",
+		pr_warn("%s: NULL omap_sr from %pS\n",
 			__func__, (void *)_RET_IP_);
 			__func__, (void *)_RET_IP_);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
@@ -422,7 +422,7 @@ int sr_disable_errgen(struct omap_sr *sr)
 	u32 vpboundint_en, vpboundint_st;
 	u32 vpboundint_en, vpboundint_st;
 
 
 	if (!sr) {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n",
+		pr_warn("%s: NULL omap_sr from %pS\n",
 			__func__, (void *)_RET_IP_);
 			__func__, (void *)_RET_IP_);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
@@ -477,7 +477,7 @@ int sr_configure_minmax(struct omap_sr *sr)
 	u8 senp_shift, senn_shift;
 	u8 senp_shift, senn_shift;
 
 
 	if (!sr) {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n",
+		pr_warn("%s: NULL omap_sr from %pS\n",
 			__func__, (void *)_RET_IP_);
 			__func__, (void *)_RET_IP_);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
@@ -562,7 +562,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 	int ret;
 	int ret;
 
 
 	if (!sr) {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n",
+		pr_warn("%s: NULL omap_sr from %pS\n",
 			__func__, (void *)_RET_IP_);
 			__func__, (void *)_RET_IP_);
 		return -EINVAL;
 		return -EINVAL;
 	}
 	}
@@ -614,7 +614,7 @@ int sr_enable(struct omap_sr *sr, unsigned long volt)
 void sr_disable(struct omap_sr *sr)
 void sr_disable(struct omap_sr *sr)
 {
 {
 	if (!sr) {
 	if (!sr) {
-		pr_warn("%s: NULL omap_sr from %pF\n",
+		pr_warn("%s: NULL omap_sr from %pS\n",
 			__func__, (void *)_RET_IP_);
 			__func__, (void *)_RET_IP_);
 		return;
 		return;
 	}
 	}