net: skb_segment() provides list head and tail
[linux/fpc-iii.git] / scripts / coccinelle / misc / irqf_oneshot.cocci
blob6cfde94be0efa5f2eca596ae1132da437b5488cc
1 /// Make sure threaded IRQs without a primary handler are always request with
2 /// IRQF_ONESHOT
3 ///
4 //
5 // Confidence: Good
6 // Comments:
7 // Options: --no-includes
9 virtual patch
10 virtual context
11 virtual org
12 virtual report
14 @r1@
15 expression irq;
16 expression thread_fn;
17 expression flags;
18 position p;
20 request_threaded_irq@p(irq, NULL, thread_fn,
22 flags | IRQF_ONESHOT
24 IRQF_ONESHOT
26 , ...)
28 @depends on patch@
29 expression irq;
30 expression thread_fn;
31 expression flags;
32 position p != r1.p;
34 request_threaded_irq@p(irq, NULL, thread_fn,
37 +IRQF_ONESHOT
39 -flags
40 +flags | IRQF_ONESHOT
42 , ...)
44 @depends on context@
45 position p != r1.p;
47 *request_threaded_irq@p(...)
49 @match depends on report || org@
50 expression irq;
51 position p != r1.p;
53 request_threaded_irq@p(irq, NULL, ...)
55 @script:python depends on org@
56 p << match.p;
58 msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT"
59 coccilib.org.print_todo(p[0],msg)
61 @script:python depends on report@
62 p << match.p;
64 msg = "ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT"
65 coccilib.report.print_report(p[0],msg)