First, we have to list all of the different power IRPs a driver can receive. The minor function is not the only value that determines the type of power irp, you also have to look at if the power irp reflects the system or device power state. Dx means any device power state lower the D0, Sx means any system power state lower the S0.
Pessimistically speaking, you could come to the conclusion that all 8 power IRPs could be in the stack at once, but you have a few mitigating rules and behaviors that will narrow down the list.
So, our list of potentially simultaneous pended power IRPs in a stack has been whittled down to the following:
This list is the final list. There are no more restrictions that can trim the list any further. If you think about it, this list makes sense if you think of the actions required to arm your device to wake from Sx. You receive a IRP_MN_SET_POWER/Sx and pend it. Before pending the Sx IRP, you request a IRP_MN_WAIT_WAKE IRP. When the IRP_MN_WAIT_WAKE IRP arrives, you arm yourself for wake, send the wake IRP down the stack and request a Dx IRP. When the Dx IRP arrives, you power down the device. At this point, all 3 power IRPs are pended in the stack. (For completeness sake, the power down sequence is finalized by sending the Dx IRP down the stack and upon its completion, sending the Sx irp down the stack and letting it complete back to the power manager.)