dev_pm_opp_adjust_voltage(9)
π dev_pm_opp_adjust_voltage β Kernel API Manual
okay so bestie, welcome to the glow-up page for dev_pm_opp_adjust_voltage(9). This is a kernel API manual, and we're about to make voltage tweaks make sense. β¨
πΈ NAME
dev_pm_opp_adjust_voltage β the little helper whose whole job is changing the voltage of an OPP. That's it, that's the vibe. π
π¦ SYNOPSIS
int dev_pm_opp_adjust_voltage (struct device *dev , unsigned long freq ,
unsigned long u_volt , unsigned long u_volt_min , unsigned long
u_volt_max );
Like, five arguments, one int back. Slay. π
π ARGUMENTS
devβ the device we're doing this whole operation for. Main character energy, honestly.freqβ the OPP frequency whose voltage you wanna adjust. Find it first, okay?u_voltβ the new OPP target voltage. The moment. The goal. πu_volt_minβ the new OPP min voltage, because boundaries are healthy.u_volt_maxβ the new OPP max voltage. Ceiling queen. π
β RETURN
-EINVALβ bad pointers, bestie. Like, the pointer vibe check failed. π-ENOMEMβ no memory available for the copy operation. Not enough room, it's giving crowded.0β returns0if no modification was done OR if the modification was successful. Yes, both. Iconic, confusing, periodt. π
ngl, that last one is a real "was anything even done?" moment, but that's literally what it says, so. π«Ά
π§ SEE ALSO
The kernel file ./drivers/opp/core.c and, like, the entire OPP friend group β no cap, here's everyone:
_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)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_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)
and that's the whole page, bestie π
shoutout to the source at ./drivers/opp and the date October 2026 β this one's brought to you by the dev_pm_opp_adjust_voltage(9) girlies, published in the Kernel API Manual. go adjust some voltage, ily ππ
π¦ 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