On 05-07-19, 11:57, Niklas Cassel wrote:
> +     drv->opp_tables = kcalloc(num_possible_cpus(), sizeof(*drv->opp_tables),
> +                               GFP_KERNEL);
> +     if (!drv->opp_tables) {
> +             ret = -ENOMEM;
> +             goto free_drv;
> +     }
>  
>       for_each_possible_cpu(cpu) {
>               cpu_dev = get_cpu_device(cpu);
> @@ -166,19 +195,23 @@ static int qcom_cpufreq_probe(struct platform_device 
> *pdev)
>                       goto free_opp;
>               }
>  
> -             opp_tables[cpu] = dev_pm_opp_set_supported_hw(cpu_dev,
> -                                                           &versions, 1);
> -             if (IS_ERR(opp_tables[cpu])) {
> -                     ret = PTR_ERR(opp_tables[cpu]);
> -                     dev_err(cpu_dev, "Failed to set supported hardware\n");
> -                     goto free_opp;
> +             if (drv->data->get_version) {

Why depend on get_version here ? The OPP table is already allocated
unconditionally.

> +                     drv->opp_tables[cpu] =
> +                             dev_pm_opp_set_supported_hw(cpu_dev,
> +                                                         &drv->versions, 1);
> +                     if (IS_ERR(drv->opp_tables[cpu])) {
> +                             ret = PTR_ERR(drv->opp_tables[cpu]);
> +                             dev_err(cpu_dev,
> +                                     "Failed to set supported hardware\n");
> +                             goto free_opp;
> +                     }
>               }
>       }

-- 
viresh

Reply via email to