Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo...
[linux-2.6-microblaze.git] / drivers / cpufreq / scmi-cpufreq.c
index 7831850..491a0a2 100644 (file)
@@ -126,6 +126,7 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
        struct scmi_data *priv;
        struct cpufreq_frequency_table *freq_table;
        struct em_data_callback em_cb = EM_DATA_CB(scmi_get_cpu_power);
+       bool power_scale_mw;
 
        cpu_dev = get_cpu_device(policy->cpu);
        if (!cpu_dev) {
@@ -189,7 +190,9 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
        policy->fast_switch_possible =
                handle->perf_ops->fast_switch_possible(handle, cpu_dev);
 
-       em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus);
+       power_scale_mw = handle->perf_ops->power_scale_mw_get(handle);
+       em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus,
+                                   power_scale_mw);
 
        return 0;
 
@@ -236,13 +239,15 @@ static int scmi_cpufreq_probe(struct scmi_device *sdev)
        if (!handle || !handle->perf_ops)
                return -ENODEV;
 
+#ifdef CONFIG_COMMON_CLK
        /* dummy clock provider as needed by OPP if clocks property is used */
        if (of_find_property(dev->of_node, "#clock-cells", NULL))
                devm_of_clk_add_hw_provider(dev, of_clk_hw_simple_get, NULL);
+#endif
 
        ret = cpufreq_register_driver(&scmi_cpufreq_driver);
        if (ret) {
-               dev_err(&sdev->dev, "%s: registering cpufreq failed, err: %d\n",
+               dev_err(dev, "%s: registering cpufreq failed, err: %d\n",
                        __func__, ret);
        }