#include <linux/poll.h>
#include <linux/kref.h>
#include <linux/percpu.h>
+#include <linux/irq_work.h>
/*
* Tracks changes to rchan/rchan_buf structs
size_t subbufs_consumed; /* count of sub-buffers consumed */
struct rchan *chan; /* associated channel */
wait_queue_head_t read_wait; /* reader wait queue */
- struct timer_list timer; /* reader wake-up timer */
+ struct irq_work wakeup_work; /* reader wakeup */
struct dentry *dentry; /* channel file dentry */
struct kref kref; /* channel buffer refcount */
struct page **page_array; /* array of current buffer pages */