unsigned long cur_freq;
        int ret;
        const char *regulator_names[] = { "mali", NULL };
+       const char *clk_names[] = { "core", NULL };
+       struct dev_pm_opp_config config = {
+               .regulator_names = regulator_names,
+               .clk_names = clk_names,
+       };
 
        if (!device_property_present(dev, "operating-points-v2"))
                /* Optional, continue without devfreq */
 
        spin_lock_init(&ldevfreq->lock);
 
-       ret = devm_pm_opp_set_clkname(dev, "core");
-       if (ret)
-               return ret;
-
-       ret = devm_pm_opp_set_regulators(dev, regulator_names);
+       ret = devm_pm_opp_set_config(dev, &config);
        if (ret) {
                /* Continue if the optional regulator is missing */
                if (ret != -ENODEV)