acpi_storage_d3(9)
β¨ acpi_storage_d3 β¨
okay so this is a page straight out of the Kernel API Manual, and the main character is acpi_storage_d3(9) π
she's little but she matters, fr fr.
π NAME π
acpi_storage_d3 β check if D3 should be used in the suspend path π«Ά
πΈ SYNOPSIS πΈ
bool acpi_storage_d3 (struct device *dev );
π¦ ARGUMENTS π¦
devβ the device to check. that's literally it, one (1) argument, and she's doing her best π
π₯ DESCRIPTION π₯
So here's the tea, bestie: this function returns true if the platform firmware wants dev to be programmed into D3hot or D3cold (if supported) in the suspend path. and it returns false when there is no specific preference at all. no opinion, no thoughts, head empty πΈ
But like β listen β on some platforms, if this hint is ignored? dev may remain unresponsive after suspending the platform as a whole. π not the device ghosting you after a suspend. that's genuinely the nightmare scenario, so pls respect the hint.
π also, plot twist: even though the property has storage in the name, it actually gets applied to the PCIe slot. so if you plug a non-storage device in there, the same platform restrictions will likely apply. the name is giving "storage" but the vibe is "slot". iykyk β¨
π SEE ALSO π
The kernel file is ./drivers/acpi/device_pm.c, and honestly the whole friend group shows up here β every single one of them, no cap:
acpi_power_state_string(9)acpi_device_get_power(9)acpi_device_set_power(9)acpi_device_fix_up_power(9)acpi_device_fix_up_power_extended(9)acpi_device_fix_up_power_children(9)acpi_dev_power_up_children_with_adr(9)acpi_dev_power_state_for_wake(9)acpi_add_pm_notifier(9)acpi_remove_pm_notifier(9)acpi_dev_pm_get_state(9)acpi_pm_device_sleep_state(9)acpi_pm_notify_work_func(9)acpi_device_wakeup_enable(9)acpi_device_wakeup_disable(9)acpi_pm_set_device_wakeup(9)acpi_dev_pm_low_power(9)acpi_dev_pm_full_power(9)acpi_dev_suspend(9)acpi_dev_resume(9)acpi_subsys_runtime_suspend(9)acpi_subsys_runtime_resume(9)acpi_subsys_prepare(9)acpi_subsys_complete(9)acpi_subsys_suspend(9)acpi_subsys_suspend_late(9)acpi_subsys_suspend_noirq(9)acpi_subsys_resume_noirq(9)acpi_subsys_resume_early(9)acpi_subsys_resume(9)acpi_subsys_freeze(9)acpi_subsys_restore_early(9)acpi_subsys_poweroff(9)acpi_subsys_poweroff_late(9)acpi_subsys_poweroff_noirq(9)acpi_dev_pm_detach(9)acpi_dev_pm_attach(9)acpi_dev_state_d0(9)
like, the whole squad. read them, love them, cite them π§π
π and that's the page!! sign-off time: this one lives in./drivers/acpi, dated October 2026, and it's brought to you byacpi_storage_d3(9)β slay, periodt, go read the kernel source bestie βπ
π¦ 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