pm_runtime_drop_link(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so we're in the Kernel API Manual, and the main character is pm_runtime_drop_link(9) β€” yes bestie, this is the deep-lore device-link cleanup page, and it's lowkey iconic πŸ’…βœ¨

πŸŽ€ NAME πŸŽ€

pm_runtime_drop_link β€” Prepare for device link removal. Like, literally the function that gets the device link ready to exit stage left, and we respect that 🫢

πŸ“œ SYNOPSIS πŸ“œ

Here's the whole signature, no cap:

void pm_runtime_drop_link (struct device_link *link );

it's giving short and mysterious, and honestly? obsessed πŸŽ€

πŸ¦‹ ARGUMENTS πŸ¦‹

  • link β€” Device link going away. aka the one we're saying bye to, bestie πŸ‘‹πŸ’–

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea: pm_runtime_drop_link drops the link count of the consumer end of link, and it decrements the supplier device's runtime PM usage counter as many times as needed to drop all of the PM runtime reference to it from the consumer.

not me getting emotional over reference counts, but here we are 😭✨ It's cleanup duty, it's necessary, and it's literally the whole job. periodt πŸ’…

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/base/power/runtime.c β€” the source-file neighborhood, iykyk πŸ“

and the whole friend group pulls up: update_pm_runtime_accounting(9), pm_runtime_deactivate_timer(9), pm_runtime_cancel_pending(9), rpm_check_suspend_allowed(9), pm_runtime_release_supplier(9), __rpm_callback(9), rpm_callback(9), rpm_idle(9), rpm_suspend(9), rpm_resume(9), pm_runtime_work(9), pm_suspend_timer_fn(9), pm_schedule_suspend(9), __pm_runtime_idle(9), __pm_runtime_suspend(9), __pm_runtime_resume(9), pm_runtime_get_conditional(9), pm_runtime_get_if_active(9), pm_runtime_get_if_in_use(9), __pm_runtime_set_status(9), __pm_runtime_barrier(9), pm_runtime_barrier(9), pm_runtime_enable(9), devm_pm_runtime_set_active_enabled(9), devm_pm_runtime_enable(9), devm_pm_runtime_get_noresume(9), pm_runtime_forbid(9), pm_runtime_allow(9), pm_runtime_no_callbacks(9), pm_runtime_irq_safe(9), update_autosuspend(9), pm_runtime_set_autosuspend_delay(9), __pm_runtime_use_autosuspend(9), pm_runtime_init(9), pm_runtime_reinit(9), pm_runtime_remove(9), pm_runtime_get_suppliers(9), pm_runtime_put_suppliers(9), pm_runtime_force_suspend(9), pm_runtime_force_resume(9) πŸ’…


xoxo, signed off from ./drivers/base/power, dated October 2026, and the page is pm_runtime_drop_link(9) β€” slay and goodbye πŸ’ŒπŸ’–

πŸ“¦ where this page comes from