This patch adds the necessary bus support to support GPIO interrupts at kernel.
What is missing:
- changes to backend drivers (add the support to each GPIO controller); ATM I've the changes for bcm2835_gpio (RPi), ti_gpio (BBB, OMAP4) and AR71xx. The changes are under testing and they can be committed independently from this code.
- Userland notification. The plan is feed the interrupt events to userland using a cdev. The readers should register their interest on the pin(s) and then each interrupt will generate an event describing the interrupt (pin level, time since the last change). As this part adds the most of complexity for this change it would be simpler and easier to review if we add it later.
What works:
- Kernel interrupts. Any GPIO device can now request the use of one (or more) of its mapped pins to be used as an interrupt (using the generic newbus methods to setup and activate the interrupt).