File: irq_work.h

package info (click to toggle)
linux-tools 3.2.17-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 57,020 kB
  • sloc: ansic: 724,385; perl: 11,579; makefile: 5,064; cpp: 3,963; python: 2,924; sh: 2,513; yacc: 1,291; lex: 947; asm: 880; pascal: 80
file content (23 lines) | stat: -rw-r--r-- 460 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef _LINUX_IRQ_WORK_H
#define _LINUX_IRQ_WORK_H

#include <linux/llist.h>

struct irq_work {
	unsigned long flags;
	struct llist_node llnode;
	void (*func)(struct irq_work *);
};

static inline
void init_irq_work(struct irq_work *work, void (*func)(struct irq_work *))
{
	work->flags = 0;
	work->func = func;
}

bool irq_work_queue(struct irq_work *work);
void irq_work_run(void);
void irq_work_sync(struct irq_work *work);

#endif /* _LINUX_IRQ_WORK_H */