Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PM: QoS: Drop frequency QoS types from device PM QoS

There are no more active users of DEV_PM_QOS_MIN_FREQUENCY and
DEV_PM_QOS_MAX_FREQUENCY device PM QoS request types, so drop them
along with the code supporting them.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

+2 -80
+2 -68
drivers/base/power/qos.c
··· 115 115 116 116 spin_lock_irqsave(&dev->power.lock, flags); 117 117 118 - switch (type) { 119 - case DEV_PM_QOS_RESUME_LATENCY: 118 + if (type == DEV_PM_QOS_RESUME_LATENCY) { 120 119 ret = IS_ERR_OR_NULL(qos) ? PM_QOS_RESUME_LATENCY_NO_CONSTRAINT 121 120 : pm_qos_read_value(&qos->resume_latency); 122 - break; 123 - case DEV_PM_QOS_MIN_FREQUENCY: 124 - ret = IS_ERR_OR_NULL(qos) ? PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE 125 - : pm_qos_read_value(&qos->min_frequency); 126 - break; 127 - case DEV_PM_QOS_MAX_FREQUENCY: 128 - ret = IS_ERR_OR_NULL(qos) ? PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE 129 - : pm_qos_read_value(&qos->max_frequency); 130 - break; 131 - default: 121 + } else { 132 122 WARN_ON(1); 133 123 ret = 0; 134 124 } ··· 158 168 value = pm_qos_read_value(&qos->latency_tolerance); 159 169 req->dev->power.set_latency_tolerance(req->dev, value); 160 170 } 161 - break; 162 - case DEV_PM_QOS_MIN_FREQUENCY: 163 - ret = pm_qos_update_target(&qos->min_frequency, 164 - &req->data.pnode, action, value); 165 - break; 166 - case DEV_PM_QOS_MAX_FREQUENCY: 167 - ret = pm_qos_update_target(&qos->max_frequency, 168 - &req->data.pnode, action, value); 169 171 break; 170 172 case DEV_PM_QOS_FLAGS: 171 173 ret = pm_qos_update_flags(&qos->flags, &req->data.flr, ··· 208 226 c->default_value = PM_QOS_LATENCY_TOLERANCE_DEFAULT_VALUE; 209 227 c->no_constraint_value = PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT; 210 228 c->type = PM_QOS_MIN; 211 - 212 - c = &qos->min_frequency; 213 - plist_head_init(&c->list); 214 - c->target_value = PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE; 215 - c->default_value = PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE; 216 - c->no_constraint_value = PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE; 217 - c->type = PM_QOS_MAX; 218 - c->notifiers = ++n; 219 - BLOCKING_INIT_NOTIFIER_HEAD(n); 220 - 221 - c = &qos->max_frequency; 222 - plist_head_init(&c->list); 223 - c->target_value = PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE; 224 - c->default_value = PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE; 225 - c->no_constraint_value = PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE; 226 - c->type = PM_QOS_MIN; 227 - c->notifiers = ++n; 228 - BLOCKING_INIT_NOTIFIER_HEAD(n); 229 229 230 230 INIT_LIST_HEAD(&qos->flags.list); 231 231 ··· 266 302 c = &qos->latency_tolerance; 267 303 plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) { 268 304 apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_DEFAULT_VALUE); 269 - memset(req, 0, sizeof(*req)); 270 - } 271 - 272 - c = &qos->min_frequency; 273 - plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) { 274 - apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE); 275 - memset(req, 0, sizeof(*req)); 276 - } 277 - 278 - c = &qos->max_frequency; 279 - plist_for_each_entry_safe(req, tmp, &c->list, data.pnode) { 280 - apply_constraint(req, PM_QOS_REMOVE_REQ, PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE); 281 305 memset(req, 0, sizeof(*req)); 282 306 } 283 307 ··· 380 428 switch(req->type) { 381 429 case DEV_PM_QOS_RESUME_LATENCY: 382 430 case DEV_PM_QOS_LATENCY_TOLERANCE: 383 - case DEV_PM_QOS_MIN_FREQUENCY: 384 - case DEV_PM_QOS_MAX_FREQUENCY: 385 431 curr_value = req->data.pnode.prio; 386 432 break; 387 433 case DEV_PM_QOS_FLAGS: ··· 507 557 ret = blocking_notifier_chain_register(dev->power.qos->resume_latency.notifiers, 508 558 notifier); 509 559 break; 510 - case DEV_PM_QOS_MIN_FREQUENCY: 511 - ret = blocking_notifier_chain_register(dev->power.qos->min_frequency.notifiers, 512 - notifier); 513 - break; 514 - case DEV_PM_QOS_MAX_FREQUENCY: 515 - ret = blocking_notifier_chain_register(dev->power.qos->max_frequency.notifiers, 516 - notifier); 517 - break; 518 560 default: 519 561 WARN_ON(1); 520 562 ret = -EINVAL; ··· 544 602 switch (type) { 545 603 case DEV_PM_QOS_RESUME_LATENCY: 546 604 ret = blocking_notifier_chain_unregister(dev->power.qos->resume_latency.notifiers, 547 - notifier); 548 - break; 549 - case DEV_PM_QOS_MIN_FREQUENCY: 550 - ret = blocking_notifier_chain_unregister(dev->power.qos->min_frequency.notifiers, 551 - notifier); 552 - break; 553 - case DEV_PM_QOS_MAX_FREQUENCY: 554 - ret = blocking_notifier_chain_unregister(dev->power.qos->max_frequency.notifiers, 555 605 notifier); 556 606 break; 557 607 default:
-12
include/linux/pm_qos.h
··· 34 34 #define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT PM_QOS_LATENCY_ANY 35 35 #define PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS PM_QOS_LATENCY_ANY_NS 36 36 #define PM_QOS_LATENCY_TOLERANCE_DEFAULT_VALUE 0 37 - #define PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE 0 38 - #define PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE (-1) 39 37 #define PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) 40 38 41 39 #define PM_QOS_FLAG_NO_POWER_OFF (1 << 0) ··· 52 54 enum dev_pm_qos_req_type { 53 55 DEV_PM_QOS_RESUME_LATENCY = 1, 54 56 DEV_PM_QOS_LATENCY_TOLERANCE, 55 - DEV_PM_QOS_MIN_FREQUENCY, 56 - DEV_PM_QOS_MAX_FREQUENCY, 57 57 DEV_PM_QOS_FLAGS, 58 58 }; 59 59 ··· 93 97 struct dev_pm_qos { 94 98 struct pm_qos_constraints resume_latency; 95 99 struct pm_qos_constraints latency_tolerance; 96 - struct pm_qos_constraints min_frequency; 97 - struct pm_qos_constraints max_frequency; 98 100 struct pm_qos_flags flags; 99 101 struct dev_pm_qos_request *resume_latency_req; 100 102 struct dev_pm_qos_request *latency_tolerance_req; 101 103 struct dev_pm_qos_request *flags_req; 102 - struct dev_pm_qos_request *min_frequency_req; 103 - struct dev_pm_qos_request *max_frequency_req; 104 104 }; 105 105 106 106 /* Action requested to pm_qos_update_target */ ··· 191 199 switch (type) { 192 200 case DEV_PM_QOS_RESUME_LATENCY: 193 201 return PM_QOS_RESUME_LATENCY_NO_CONSTRAINT; 194 - case DEV_PM_QOS_MIN_FREQUENCY: 195 - return PM_QOS_MIN_FREQUENCY_DEFAULT_VALUE; 196 - case DEV_PM_QOS_MAX_FREQUENCY: 197 - return PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE; 198 202 default: 199 203 WARN_ON(1); 200 204 return 0;