The power resource dependencies for each _PRx object are discovered and cached in ac_prx on the power consumer struct (struct acpi_powerconsumer) when a power consumer is registered. This is done in acpi_pwr_get_power_resources. ACPI guarantees these _PRx objects will evaluate to the same thing each time they are called.
This discovery process also registers those power resources, which were previously only registered when they were referenced by the relevant _PRx object for the target D-state when switching. This meant that the first D-state switch for a power consumer would not turn off any power resources as they wouldn't have been registered yet. This revision fixes this.
ac_prx will be used by subsequent patches.
This was split out from D48294.
Sponsored by: The FreeBSD Foundation