The driver uses asynchronous communication-general Linux technology-Linux technology and application information. For more information, see the following section. The younger brother is engaged in embedded Linux. In the sixth chapter of LDD3, the content of the driver's asynchronous communication is mentioned in the advanced character driver. Specifically, the fasync interface is implemented when the driver program is written, but I try to find that Oops errors occur every time.
How can I write a Linux Device Driver to send a signal from the driver to the application to indicate an event (for example, data is ready )?
I tried to write a GPIO interrupt driver, and each interrupt sent a SIGIO signal to a specific pid process. The code was written according to the LDD3 sample code. I have attached the source code of the driver and test driver, as well as the Oops error message. Let's take a look at what's going on!