devm_pm_opp_set_config(9)
π devm_pm_opp_set_config(9) β the kernel api manual, bestie edition
okay so this is a page from the Kernel API Manual (yes, that one) and it's about setting up OPP config for a device. slay. let's get into it π
β¨ SYNOPSIS β¨
int devm_pm_opp_set_config (struct device *dev , struct
dev_pm_opp_config *config );
literally the whole signature right there, no notes π«Ά
π ARGUMENTS π
devβ the Device whose configuration we're setting. it's the main character of this function call, obviously.configβ the OPP configuration itself. the vibes, the settings, the whole situation.
πΈ DESCRIPTION πΈ
okay so here's the tea: this lets you do all of a device's OPP configurations in one go β at once, together, one function call, no cap. it's giving efficiency.
it's the resource-managed variant of dev_pm_opp_set_config. so like, same energy as that one, except the devres machinery has your back and cleans up after you πβ¨
π₯ RETURN π₯
0 on success, and an errorno otherwise. that's it, that's the return value π
π¦ SEE ALSO π¦
okay bestie, buckle up, this list is LONG and honestly kind of iconic for it π
the kernel file is ./drivers/opp/core.c and everything lives in the same neighborhood:
_find_opp_table(9)dev_pm_opp_get_bw(9)dev_pm_opp_get_voltage(9)dev_pm_opp_get_supplies(9)dev_pm_opp_get_power(9)dev_pm_opp_get_freq_indexed(9)dev_pm_opp_get_level(9)dev_pm_opp_get_required_pstate(9)dev_pm_opp_is_turbo(9)dev_pm_opp_get_max_clock_latency(9)dev_pm_opp_get_max_volt_latency(9)dev_pm_opp_get_max_transition_latency(9)dev_pm_opp_get_suspend_opp_freq(9)dev_pm_opp_get_opp_count(9)dev_pm_opp_find_freq_exact(9)dev_pm_opp_find_key_exact(9)dev_pm_opp_find_freq_exact_indexed(9)dev_pm_opp_find_freq_ceil(9)dev_pm_opp_find_freq_ceil_indexed(9)dev_pm_opp_find_freq_floor(9)dev_pm_opp_find_freq_floor_indexed(9)dev_pm_opp_find_level_exact(9)dev_pm_opp_find_level_ceil(9)dev_pm_opp_find_level_floor(9)dev_pm_opp_find_bw_ceil(9)dev_pm_opp_find_bw_floor(9)dev_pm_opp_set_rate(9)dev_pm_opp_set_opp(9)dev_pm_opp_remove(9)dev_pm_opp_remove_all_dynamic(9)_opp_add_v1(9)dev_pm_opp_set_config(9)dev_pm_opp_clear_config(9)dev_pm_opp_xlate_required_opp(9)dev_pm_opp_xlate_performance_state(9)dev_pm_opp_add_dynamic(9)_opp_set_availability(9)dev_pm_opp_adjust_voltage(9)dev_pm_opp_sync_regulators(9)dev_pm_opp_enable(9)dev_pm_opp_disable(9)dev_pm_opp_register_notifier(9)dev_pm_opp_unregister_notifier(9)dev_pm_opp_remove_table(9)
that's 44 whole cross-references and yes i counted, and yes every single one is here, we do not skip entries in this household π―
and that's a wrap !! this page lives in ./drivers/opp in the Kernel API Manual, dated October 2026 β so like, future vibes only πβ go read the other 44 pages now, mwah ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms