There's more to it.
I don't think that ever supposed to work that way, most notably
because it just wouldn't work with SoCs that multiple interrupt banks
(like the A31, A23, etc.)
I think it worked by accident, because it's somewhat compatible with
the default interrupt property parsing code, but that probably need
some additional development.
What's mainly missing would be an irq_xlate function in the pinctrl
driver that would parse the interrupt property with the same format
than we have for gpios (phandle excluded, of course), which would mean
something like that in your case.
interrupt-parent = <&pio>;
interrups = <8 10 flags>;
That function would then need to lookup in our pin array that it's
indeed an interrupt, and would return the number of the interrupt
within the interupt controller (which would be 22 in your case).
I can try to cook something during the weekend, and send you a patch
for you to test.
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com