Lines Matching full:drv
53 struct qcom_cpufreq_drv *drv);
177 struct qcom_cpufreq_drv *drv) in qcom_cpufreq_kryo_name_version() argument
196 drv->versions = 1 << (unsigned int)(*speedbin); in qcom_cpufreq_kryo_name_version()
199 drv->versions = 1 << ((unsigned int)(*speedbin) + 4); in qcom_cpufreq_kryo_name_version()
213 struct qcom_cpufreq_drv *drv) in qcom_cpufreq_krait_name_version() argument
241 drv->versions = (1 << speed); in qcom_cpufreq_krait_name_version()
263 struct qcom_cpufreq_drv *drv; in qcom_cpufreq_probe() local
286 drv = kzalloc(sizeof(*drv), GFP_KERNEL); in qcom_cpufreq_probe()
287 if (!drv) in qcom_cpufreq_probe()
291 drv->data = match->data; in qcom_cpufreq_probe()
292 if (!drv->data) { in qcom_cpufreq_probe()
297 if (drv->data->get_version) { in qcom_cpufreq_probe()
308 ret = drv->data->get_version(cpu_dev, in qcom_cpufreq_probe()
309 speedbin_nvmem, &pvs_name, drv); in qcom_cpufreq_probe()
318 drv->names_opp_tables = kcalloc(num_possible_cpus(), in qcom_cpufreq_probe()
319 sizeof(*drv->names_opp_tables), in qcom_cpufreq_probe()
321 if (!drv->names_opp_tables) { in qcom_cpufreq_probe()
325 drv->hw_opp_tables = kcalloc(num_possible_cpus(), in qcom_cpufreq_probe()
326 sizeof(*drv->hw_opp_tables), in qcom_cpufreq_probe()
328 if (!drv->hw_opp_tables) { in qcom_cpufreq_probe()
333 drv->genpd_opp_tables = kcalloc(num_possible_cpus(), in qcom_cpufreq_probe()
334 sizeof(*drv->genpd_opp_tables), in qcom_cpufreq_probe()
336 if (!drv->genpd_opp_tables) { in qcom_cpufreq_probe()
348 if (drv->data->get_version) { in qcom_cpufreq_probe()
351 drv->names_opp_tables[cpu] = dev_pm_opp_set_prop_name( in qcom_cpufreq_probe()
354 if (IS_ERR(drv->names_opp_tables[cpu])) { in qcom_cpufreq_probe()
355 ret = PTR_ERR(drv->names_opp_tables[cpu]); in qcom_cpufreq_probe()
362 drv->hw_opp_tables[cpu] = dev_pm_opp_set_supported_hw( in qcom_cpufreq_probe()
363 cpu_dev, &drv->versions, 1); in qcom_cpufreq_probe()
364 if (IS_ERR(drv->hw_opp_tables[cpu])) { in qcom_cpufreq_probe()
365 ret = PTR_ERR(drv->hw_opp_tables[cpu]); in qcom_cpufreq_probe()
372 if (drv->data->genpd_names) { in qcom_cpufreq_probe()
373 drv->genpd_opp_tables[cpu] = in qcom_cpufreq_probe()
375 drv->data->genpd_names, in qcom_cpufreq_probe()
377 if (IS_ERR(drv->genpd_opp_tables[cpu])) { in qcom_cpufreq_probe()
378 ret = PTR_ERR(drv->genpd_opp_tables[cpu]); in qcom_cpufreq_probe()
391 platform_set_drvdata(pdev, drv); in qcom_cpufreq_probe()
400 if (IS_ERR(drv->genpd_opp_tables[cpu])) in qcom_cpufreq_probe()
402 dev_pm_opp_detach_genpd(drv->genpd_opp_tables[cpu]); in qcom_cpufreq_probe()
404 kfree(drv->genpd_opp_tables); in qcom_cpufreq_probe()
407 if (IS_ERR(drv->names_opp_tables[cpu])) in qcom_cpufreq_probe()
409 dev_pm_opp_put_prop_name(drv->names_opp_tables[cpu]); in qcom_cpufreq_probe()
412 if (IS_ERR(drv->hw_opp_tables[cpu])) in qcom_cpufreq_probe()
414 dev_pm_opp_put_supported_hw(drv->hw_opp_tables[cpu]); in qcom_cpufreq_probe()
416 kfree(drv->hw_opp_tables); in qcom_cpufreq_probe()
418 kfree(drv->names_opp_tables); in qcom_cpufreq_probe()
420 kfree(drv); in qcom_cpufreq_probe()
427 struct qcom_cpufreq_drv *drv = platform_get_drvdata(pdev); in qcom_cpufreq_remove() local
433 dev_pm_opp_put_supported_hw(drv->names_opp_tables[cpu]); in qcom_cpufreq_remove()
434 dev_pm_opp_put_supported_hw(drv->hw_opp_tables[cpu]); in qcom_cpufreq_remove()
435 dev_pm_opp_detach_genpd(drv->genpd_opp_tables[cpu]); in qcom_cpufreq_remove()
438 kfree(drv->names_opp_tables); in qcom_cpufreq_remove()
439 kfree(drv->hw_opp_tables); in qcom_cpufreq_remove()
440 kfree(drv->genpd_opp_tables); in qcom_cpufreq_remove()
441 kfree(drv); in qcom_cpufreq_remove()