diff options
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/cpufreq.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index 9af14a8bbcdb..2417576393a6 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c | |||
@@ -183,6 +183,9 @@ err_out: | |||
183 | 183 | ||
184 | struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu) | 184 | struct cpufreq_policy *cpufreq_cpu_get(unsigned int cpu) |
185 | { | 185 | { |
186 | if (cpufreq_disabled()) | ||
187 | return NULL; | ||
188 | |||
186 | return __cpufreq_cpu_get(cpu, false); | 189 | return __cpufreq_cpu_get(cpu, false); |
187 | } | 190 | } |
188 | EXPORT_SYMBOL_GPL(cpufreq_cpu_get); | 191 | EXPORT_SYMBOL_GPL(cpufreq_cpu_get); |
@@ -201,6 +204,9 @@ static void __cpufreq_cpu_put(struct cpufreq_policy *data, bool sysfs) | |||
201 | 204 | ||
202 | void cpufreq_cpu_put(struct cpufreq_policy *data) | 205 | void cpufreq_cpu_put(struct cpufreq_policy *data) |
203 | { | 206 | { |
207 | if (cpufreq_disabled()) | ||
208 | return; | ||
209 | |||
204 | __cpufreq_cpu_put(data, false); | 210 | __cpufreq_cpu_put(data, false); |
205 | } | 211 | } |
206 | EXPORT_SYMBOL_GPL(cpufreq_cpu_put); | 212 | EXPORT_SYMBOL_GPL(cpufreq_cpu_put); |
@@ -267,6 +273,9 @@ void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) | |||
267 | 273 | ||
268 | BUG_ON(irqs_disabled()); | 274 | BUG_ON(irqs_disabled()); |
269 | 275 | ||
276 | if (cpufreq_disabled()) | ||
277 | return; | ||
278 | |||
270 | freqs->flags = cpufreq_driver->flags; | 279 | freqs->flags = cpufreq_driver->flags; |
271 | pr_debug("notification %u of frequency transition to %u kHz\n", | 280 | pr_debug("notification %u of frequency transition to %u kHz\n", |
272 | state, freqs->new); | 281 | state, freqs->new); |
@@ -1408,6 +1417,9 @@ int cpufreq_register_notifier(struct notifier_block *nb, unsigned int list) | |||
1408 | { | 1417 | { |
1409 | int ret; | 1418 | int ret; |
1410 | 1419 | ||
1420 | if (cpufreq_disabled()) | ||
1421 | return -EINVAL; | ||
1422 | |||
1411 | WARN_ON(!init_cpufreq_transition_notifier_list_called); | 1423 | WARN_ON(!init_cpufreq_transition_notifier_list_called); |
1412 | 1424 | ||
1413 | switch (list) { | 1425 | switch (list) { |
@@ -1442,6 +1454,9 @@ int cpufreq_unregister_notifier(struct notifier_block *nb, unsigned int list) | |||
1442 | { | 1454 | { |
1443 | int ret; | 1455 | int ret; |
1444 | 1456 | ||
1457 | if (cpufreq_disabled()) | ||
1458 | return -EINVAL; | ||
1459 | |||
1445 | switch (list) { | 1460 | switch (list) { |
1446 | case CPUFREQ_TRANSITION_NOTIFIER: | 1461 | case CPUFREQ_TRANSITION_NOTIFIER: |
1447 | ret = srcu_notifier_chain_unregister( | 1462 | ret = srcu_notifier_chain_unregister( |
@@ -1522,6 +1537,9 @@ int __cpufreq_driver_getavg(struct cpufreq_policy *policy, unsigned int cpu) | |||
1522 | { | 1537 | { |
1523 | int ret = 0; | 1538 | int ret = 0; |
1524 | 1539 | ||
1540 | if (cpufreq_disabled()) | ||
1541 | return ret; | ||
1542 | |||
1525 | if (!(cpu_online(cpu) && cpufreq_driver->getavg)) | 1543 | if (!(cpu_online(cpu) && cpufreq_driver->getavg)) |
1526 | return 0; | 1544 | return 0; |
1527 | 1545 | ||