This change is dependent on a change from Andrew that doesn't greedily allocate all irqsrc for all possible gicv3 ITS MSIs so that some are available for the gpio device. In addition to the gpio driver some additional support is required in the acpi implementation to make this an ACPI event that can trigger a power button device and I haven't started to work on that.
I've tested this by loading the driver, seeing the 8 gpio pins as input, confirming that if the gpio device signals an edge on one pin the driver sees this and that the pins can be changed to output and written to. Other than hacking the driver to register an interrupt for a pin and confirming that pl061_intr() ends up being called in this case I haven't found a way to test the interrupt generation and handling in the code yet. Any pointers on how to do this would be appreciated.