PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs
This allows dev_pm_qos to embed freq_qos structs, which is done in the
next patch. Separate commit to make it easier to review.
Change-Id: Iec9ff5a1a890e9dd59626c9731b1a8dbfeeb5121
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Git-commit: 342035f66c
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
This commit is contained in:

committed by
Shaleen Agrawal

parent
e936a40935
commit
74f1b7c498
@@ -49,21 +49,6 @@ struct pm_qos_flags_request {
|
||||
s32 flags; /* Do not change to 64 bit */
|
||||
};
|
||||
|
||||
enum dev_pm_qos_req_type {
|
||||
DEV_PM_QOS_RESUME_LATENCY = 1,
|
||||
DEV_PM_QOS_LATENCY_TOLERANCE,
|
||||
DEV_PM_QOS_FLAGS,
|
||||
};
|
||||
|
||||
struct dev_pm_qos_request {
|
||||
enum dev_pm_qos_req_type type;
|
||||
union {
|
||||
struct plist_node pnode;
|
||||
struct pm_qos_flags_request flr;
|
||||
} data;
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
enum pm_qos_type {
|
||||
PM_QOS_UNITIALIZED,
|
||||
PM_QOS_MAX, /* return the largest value */
|
||||
@@ -90,6 +75,44 @@ struct pm_qos_flags {
|
||||
s32 effective_flags; /* Do not change to 64 bit */
|
||||
};
|
||||
|
||||
|
||||
#define FREQ_QOS_MIN_DEFAULT_VALUE 0
|
||||
#define FREQ_QOS_MAX_DEFAULT_VALUE S32_MAX
|
||||
|
||||
enum freq_qos_req_type {
|
||||
FREQ_QOS_MIN = 1,
|
||||
FREQ_QOS_MAX,
|
||||
};
|
||||
|
||||
struct freq_constraints {
|
||||
struct pm_qos_constraints min_freq;
|
||||
struct blocking_notifier_head min_freq_notifiers;
|
||||
struct pm_qos_constraints max_freq;
|
||||
struct blocking_notifier_head max_freq_notifiers;
|
||||
};
|
||||
|
||||
struct freq_qos_request {
|
||||
enum freq_qos_req_type type;
|
||||
struct plist_node pnode;
|
||||
struct freq_constraints *qos;
|
||||
};
|
||||
|
||||
|
||||
enum dev_pm_qos_req_type {
|
||||
DEV_PM_QOS_RESUME_LATENCY = 1,
|
||||
DEV_PM_QOS_LATENCY_TOLERANCE,
|
||||
DEV_PM_QOS_FLAGS,
|
||||
};
|
||||
|
||||
struct dev_pm_qos_request {
|
||||
enum dev_pm_qos_req_type type;
|
||||
union {
|
||||
struct plist_node pnode;
|
||||
struct pm_qos_flags_request flr;
|
||||
} data;
|
||||
struct device *dev;
|
||||
};
|
||||
|
||||
struct dev_pm_qos {
|
||||
struct pm_qos_constraints resume_latency;
|
||||
struct pm_qos_constraints latency_tolerance;
|
||||
@@ -255,27 +278,6 @@ static inline s32 dev_pm_qos_raw_resume_latency(struct device *dev)
|
||||
}
|
||||
#endif
|
||||
|
||||
#define FREQ_QOS_MIN_DEFAULT_VALUE 0
|
||||
#define FREQ_QOS_MAX_DEFAULT_VALUE S32_MAX
|
||||
|
||||
enum freq_qos_req_type {
|
||||
FREQ_QOS_MIN = 1,
|
||||
FREQ_QOS_MAX,
|
||||
};
|
||||
|
||||
struct freq_constraints {
|
||||
struct pm_qos_constraints min_freq;
|
||||
struct blocking_notifier_head min_freq_notifiers;
|
||||
struct pm_qos_constraints max_freq;
|
||||
struct blocking_notifier_head max_freq_notifiers;
|
||||
};
|
||||
|
||||
struct freq_qos_request {
|
||||
enum freq_qos_req_type type;
|
||||
struct plist_node pnode;
|
||||
struct freq_constraints *qos;
|
||||
};
|
||||
|
||||
static inline int freq_qos_request_active(struct freq_qos_request *req)
|
||||
{
|
||||
return !IS_ERR_OR_NULL(req->qos);
|
||||
|
Reference in New Issue
Block a user