dev_pm_opp_...end_opp_freq(9)
π dev_pm_opp_get_suspend_opp_freq β Kernel API Manual β¨
okay bestie, so this is a page straight out of the Kernel API Manual and it's lowkey one of the shortest ones you'll ever read, which honestly? iconic. it does exactly one thing and it does it slayfully π
πΈ NAME πΈ
dev_pm_opp_get_suspend_opp_freq β literally just "Get frequency of suspend opp in Hz". that's it. that's the whole vibe π
β¨ SYNOPSIS β¨
unsigned long dev_pm_opp_get_suspend_opp_freq (struct device *dev );
yes bestie, it takes one arg and hands you back an unsigned long. no drama, no surprises, we love a predictable function π«Ά
π¦ ARGUMENTS π¦
devβ the device you're doing this operation for. that's the one. the device in question. give it to her and she'll tell you about its suspend opp π
β RETURN β
so here's the tea β this function returns the frequency of the OPP that's marked as suspend_opp, if one is actually available. and if there isn't one? she just returns 0. no error code, no tantrum, just a polite little zero π
ngl, it's giving "no thoughts, head empty" but in the most useful way possible β always check for that 0, bestie π
π SEE ALSO π
the whole friend group, fr fr β and they all live in the kernel file ./drivers/opp/core.c:
_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_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)devm_pm_opp_set_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)
like, that's the entire OPP cinematic universe and you're welcome to binge it all π
and that's the page!! mwah π this lil beauty lives over in ./drivers/opp and it's dated October 2026 β so yeah, she's from the future and she's still serving. periodt. πβ¨
π¦ 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