This patch separates ACPI_STATE_D3 into ACPI_STATE_D3_HOT and ACPI_STATE_D3_COLD. The previous ACPI_STATE_D3 is now defined as ACPI_STATE_D3_COLD. The same distinction has been made between PCI_POWERSTATE_HOT and PCI_POWERSTATE_COLD, as they're defined by ACPI (and are asserted to be the same). D3cold is essentially the same as D3hot except the power resources are turned off. Support for D3cold has been added to acpi_pwr_switch_consumer.
Currently I am awaiting information on whether or not ACPI_STATE_D3 should actually be D3cold or D3hot instead, at which point these macros will be upstreamed and I'll update this revision. See https://github.com/acpica/acpica/pull/993.
acpi_d_state_to_str replaces the printf("D%d", d_state) pattern, allowing for "D3hot" and "D3cold" strings to be printed instead.
This was split out from D48294.
Sponsored by: The FreeBSD Foundation