]> git.openfabrics.org - ~emulex/infiniband.git/commit
PM / QoS: Introduce request and constraint data types for PM QoS flags
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 22 Oct 2012 23:07:46 +0000 (01:07 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 22 Oct 2012 23:07:46 +0000 (01:07 +0200)
commit5efbe4279f959a3f5ed26adf5f05cb78dd1ffa7e
treeebc9bc44e7ac33b11c187850291114f30c39455a
parent5f986c590fcf4284924fcda991cf14ab32bff49f
PM / QoS: Introduce request and constraint data types for PM QoS flags

Introduce struct pm_qos_flags_request and struct pm_qos_flags
representing PM QoS flags request type and PM QoS flags constraint
type, respectively.  With these definitions the data structures
will be arranged so that the list member of a struct pm_qos_flags
object will contain the head of a list of struct pm_qos_flags_request
objects representing all of the "flags" requests present for the
given device.  Then, the effective_flags member of a struct
pm_qos_flags object will contain the bitwise OR of the flags members
of all the struct pm_qos_flags_request objects in the list.

Additionally, introduce helper function pm_qos_update_flags()
allowing the caller to manage the list of struct pm_qos_flags_request
pointed to by the list member of struct pm_qos_flags.

The flags are of type s32 so that the request's "value" field
is always of the same type regardless of what kind of request it
is (latency requests already have value fields of type s32).

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Jean Pihet <j-pihet@ti.com>
Acked-by: mark gross <markgross@thegnar.org>
include/linux/pm_qos.h
kernel/power/qos.c