dev_pm_genpd...rmance_state(9)
π dev_pm_genpd...rmance_state(9) π
okay so this is a page from the Kernel API Manual, and bestie, it's literally about dev_pm_genpd_set_performance_state β yes the whole name, we're not abbreviating, the kernel doesn't do nicknames π
β¨ NAME β¨
dev_pm_genpd_set_performance_state β sets the performance state of a device's power domain. that's it, that's the whole vibe π
π¦ SYNOPSIS π¦
int dev_pm_genpd_set_performance_state (struct device *dev , unsigned int state );
πΈ ARGUMENTS πΈ
devβ the device you're setting the performance state for. your main character device, basically πstateβ the target performance state of the device. and here's the lil β¨detailβ¨: you can set this to0when the device doesn't have any performance state constraints left β which means the device wouldn't participate anymore in finding the target performance state of the genpd. so like, it's out of the group chat π«Ά
π DESCRIPTION π
so the assumption here is that the users guarantee that the genpd wouldn't be detached while this routine is getting called. read that again. that's on you, bestie π
and then the return situation, which is honestly so clean:
Returns 0 on success, and negative error values on failures π
π₯ SEE ALSO π₯
Kernel file ./drivers/pmdomain/core.c β and honestly? the whole genpd friend group showed up. like, everyone came to the party π
dev_pm_genpd_set_next_wakeup(9)dev_pm_genpd_get_next_hrtimer(9)dev_pm_genpd_set_hwmode(9)dev_pm_genpd_get_hwmode(9)dev_pm_genpd_rpm_always_on(9)dev_pm_genpd_is_on(9)pm_genpd_inc_rejected(9)genpd_queue_power_off_work(9)genpd_power_off(9)genpd_power_on(9)genpd_power_off_work_fn(9)__genpd_runtime_suspend(9)__genpd_runtime_resume(9)genpd_runtime_suspend(9)genpd_runtime_resume(9)genpd_power_off_unused(9)genpd_sync_power_off(9)genpd_sync_power_on(9)genpd_prepare(9)genpd_finish_suspend(9)genpd_suspend_noirq(9)genpd_finish_resume(9)genpd_resume_noirq(9)genpd_freeze_noirq(9)genpd_thaw_noirq(9)genpd_poweroff_noirq(9)genpd_restore_noirq(9)genpd_complete(9)dev_pm_genpd_suspend(9)dev_pm_genpd_resume(9)pm_genpd_add_device(9)pm_genpd_remove_device(9)dev_pm_genpd_add_notifier(9)dev_pm_genpd_remove_notifier(9)pm_genpd_add_subdomain(9)pm_genpd_remove_subdomain(9)pm_genpd_init(9)pm_genpd_remove(9)struct of_genpd_provider(9)genpd_xlate_simple(9)genpd_xlate_onecell(9)genpd_add_provider(9)of_genpd_add_provider_simple(9)of_genpd_add_provider_onecell(9)of_genpd_del_provider(9)genpd_get_from_provider(9)of_genpd_add_child_ids(9)of_genpd_remove_child_ids(9)of_genpd_add_device(9)of_genpd_add_subdomain(9)of_genpd_remove_subdomain(9)of_genpd_remove_last(9)genpd_dev_pm_detach(9)genpd_dev_pm_attach(9)genpd_dev_pm_attach_by_id(9)genpd_dev_pm_attach_by_name(9)of_genpd_parse_idle_states(9)of_genpd_sync_state(9)
lowkey the most important part: that detached-genpd thing is on the users. not a suggestion, it's an assumption. don't come for the docs if it breaks π
okay that's the page!! it lives in ./drivers/pmdomain, dated October 2026, and it's part of the Kernel API Manual β go set some performance states, bestie, you're gonna slay π
β¨π
π¦ 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