dev_pm_opp_remove_table(9)
π dev_pm_opp_remove_table(9) β the "bye bestie" button for your OPP table
okay so real talk, this one lives in the Kernel API Manual, and it's genuinely one of the most satisfying cleanup functions in the whole OPP universe. no cap. it's the "we're done here, clear the table, literally" energy. β¨
πΈ NAME πΈ
dev_pm_opp_remove_table β frees all the OPPs associated with the device π«Ά
like, all of them. the whole friend group. gone. (respectfully π)
π SYNOPSIS π
void dev_pm_opp_remove_table (struct device *dev );
that's it. one argument. very demure, very mindful. π
π¦ ARGUMENTS π¦
devβ the device pointer we use to look up the OPP table π. that's your key to the function, bestie, and honestly it's doing all the work here.
β¨ DESCRIPTION β¨
okay so picture this: it frees both the OPPs that were created using the static entries present in DT, and the dynamically added entries. both. at the same time. the way that it just wipes the slate clean is giving main character energy fr fr ππ₯
no leftovers, no stragglers, no "wait what about that one" β everything goes. periodt.
π SEE ALSO π
grab a snack, this is a long list, but every single one of these is a baddie and they all deserve their moment:
_find_opp_table(9)β also in the Kernel file./drivers/opp/core.c, iykykdev_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_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)
π friendly reminder from your girl: this frees both the DT-static OPPs and the dynamically added ones, so don't be out here calling it while you still need that table. be so serious. π
and that's the whole page, bestie!! π§π
this lil masterpiece was served to you straight out of ./drivers/opp, dated October 2026, and it goes out to everyone reading dev_pm_opp_remove_table(9) in the Kernel API Manual β ily, go free your OPPs responsibly πππ
π¦ 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