Search code examples
linux-device-driverirqisrregistering

How to register a function in a driver code as its ISR


Following the feedback i got from my previous question on Linux Kernel development,

I have written a driver (in Linux-kernel v2.6.32) by comparing it with an existing driver and "borrowing" heavily from its code. The driver is registered fine. The init() and probe() are working fine. I am also able to access the peripheral device registers. :-)

However i am a bit hazy about the IRQ/ISR. The peripheral-device is a input device and raises an interrupt on a GPIO pin.

How do i move ahead from the current state to handle the IRQ and execute my ISR function ?


Solution

  • Did you look at the Linux Device Drivers book? It has a whole chapter on interrupt handling. It should provide the background information you need.