Commit 1419d033 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge branches 'pm-core', 'pm-qos' and 'pm-docs'

* pm-core:
  PM: core: Fix device_pm_check_callbacks()

* pm-qos:
  PM / QoS: Use the correct variable to check the QoS request type

* pm-docs:
  PM: docs: Drop an excess character from devices.rst
  driver core: Fix link to device power management documentation
...@@ -675,7 +675,7 @@ sub-domain of the parent domain. ...@@ -675,7 +675,7 @@ sub-domain of the parent domain.
Support for power domains is provided through the :c:member:`pm_domain` field of Support for power domains is provided through the :c:member:`pm_domain` field of
|struct device|. This field is a pointer to an object of type |struct device|. This field is a pointer to an object of type
|struct dev_pm_domain|, defined in :file:`include/linux/pm.h``, providing a set |struct dev_pm_domain|, defined in :file:`include/linux/pm.h`, providing a set
of power management callbacks analogous to the subsystem-level and device driver of power management callbacks analogous to the subsystem-level and device driver
callbacks that are executed for the given device during all power transitions, callbacks that are executed for the given device during all power transitions,
instead of the respective subsystem-level callbacks. Specifically, if a instead of the respective subsystem-level callbacks. Specifically, if a
......
...@@ -277,11 +277,11 @@ void dev_pm_qos_constraints_destroy(struct device *dev) ...@@ -277,11 +277,11 @@ void dev_pm_qos_constraints_destroy(struct device *dev)
mutex_unlock(&dev_pm_qos_sysfs_mtx); mutex_unlock(&dev_pm_qos_sysfs_mtx);
} }
static bool dev_pm_qos_invalid_request(struct device *dev, static bool dev_pm_qos_invalid_req_type(struct device *dev,
struct dev_pm_qos_request *req) enum dev_pm_qos_req_type type)
{ {
return !req || (req->type == DEV_PM_QOS_LATENCY_TOLERANCE return type == DEV_PM_QOS_LATENCY_TOLERANCE &&
&& !dev->power.set_latency_tolerance); !dev->power.set_latency_tolerance;
} }
static int __dev_pm_qos_add_request(struct device *dev, static int __dev_pm_qos_add_request(struct device *dev,
...@@ -290,7 +290,7 @@ static int __dev_pm_qos_add_request(struct device *dev, ...@@ -290,7 +290,7 @@ static int __dev_pm_qos_add_request(struct device *dev,
{ {
int ret = 0; int ret = 0;
if (!dev || dev_pm_qos_invalid_request(dev, req)) if (!dev || !req || dev_pm_qos_invalid_req_type(dev, type))
return -EINVAL; return -EINVAL;
if (WARN(dev_pm_qos_request_active(req), if (WARN(dev_pm_qos_request_active(req),
......
...@@ -838,7 +838,7 @@ struct dev_links_info { ...@@ -838,7 +838,7 @@ struct dev_links_info {
* @driver_data: Private pointer for driver specific info. * @driver_data: Private pointer for driver specific info.
* @links: Links to suppliers and consumers of this device. * @links: Links to suppliers and consumers of this device.
* @power: For device power management. * @power: For device power management.
* See Documentation/power/admin-guide/devices.rst for details. * See Documentation/driver-api/pm/devices.rst for details.
* @pm_domain: Provide callbacks that are executed during system suspend, * @pm_domain: Provide callbacks that are executed during system suspend,
* hibernation, system resume and during runtime PM transitions * hibernation, system resume and during runtime PM transitions
* along with subsystem-level and driver-level callbacks. * along with subsystem-level and driver-level callbacks.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment