diff options
Diffstat (limited to 'drivers/thermal/imx_thermal.c')
-rw-r--r-- | drivers/thermal/imx_thermal.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c index 88b32f942dcf..c1188ac053c9 100644 --- a/drivers/thermal/imx_thermal.c +++ b/drivers/thermal/imx_thermal.c | |||
@@ -9,7 +9,6 @@ | |||
9 | 9 | ||
10 | #include <linux/clk.h> | 10 | #include <linux/clk.h> |
11 | #include <linux/cpu_cooling.h> | 11 | #include <linux/cpu_cooling.h> |
12 | #include <linux/cpufreq.h> | ||
13 | #include <linux/delay.h> | 12 | #include <linux/delay.h> |
14 | #include <linux/device.h> | 13 | #include <linux/device.h> |
15 | #include <linux/init.h> | 14 | #include <linux/init.h> |
@@ -454,15 +453,10 @@ static int imx_thermal_probe(struct platform_device *pdev) | |||
454 | const struct of_device_id *of_id = | 453 | const struct of_device_id *of_id = |
455 | of_match_device(of_imx_thermal_match, &pdev->dev); | 454 | of_match_device(of_imx_thermal_match, &pdev->dev); |
456 | struct imx_thermal_data *data; | 455 | struct imx_thermal_data *data; |
457 | struct cpumask clip_cpus; | ||
458 | struct regmap *map; | 456 | struct regmap *map; |
459 | int measure_freq; | 457 | int measure_freq; |
460 | int ret; | 458 | int ret; |
461 | 459 | ||
462 | if (!cpufreq_get_current_driver()) { | ||
463 | dev_dbg(&pdev->dev, "no cpufreq driver!"); | ||
464 | return -EPROBE_DEFER; | ||
465 | } | ||
466 | data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); | 460 | data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); |
467 | if (!data) | 461 | if (!data) |
468 | return -ENOMEM; | 462 | return -ENOMEM; |
@@ -516,12 +510,13 @@ static int imx_thermal_probe(struct platform_device *pdev) | |||
516 | regmap_write(map, MISC0 + REG_SET, MISC0_REFTOP_SELBIASOFF); | 510 | regmap_write(map, MISC0 + REG_SET, MISC0_REFTOP_SELBIASOFF); |
517 | regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_POWER_DOWN); | 511 | regmap_write(map, TEMPSENSE0 + REG_SET, TEMPSENSE0_POWER_DOWN); |
518 | 512 | ||
519 | cpumask_set_cpu(0, &clip_cpus); | 513 | data->cdev = cpufreq_cooling_register(cpu_present_mask); |
520 | data->cdev = cpufreq_cooling_register(&clip_cpus); | ||
521 | if (IS_ERR(data->cdev)) { | 514 | if (IS_ERR(data->cdev)) { |
522 | ret = PTR_ERR(data->cdev); | 515 | ret = PTR_ERR(data->cdev); |
523 | dev_err(&pdev->dev, | 516 | if (ret != -EPROBE_DEFER) |
524 | "failed to register cpufreq cooling device: %d\n", ret); | 517 | dev_err(&pdev->dev, |
518 | "failed to register cpufreq cooling device: %d\n", | ||
519 | ret); | ||
525 | return ret; | 520 | return ret; |
526 | } | 521 | } |
527 | 522 | ||