I am new to device driver programming...
I am writing a device driver say driver.c.
I also have a normal program read.c which reads from the device driver "driver.c". I want to read only when there is data in the device. Also I do not want to poll the device.

How can I do that ? I got some idea from other websites. But I did not get a clear idea. May be because I am new to this.