Linux 4.16.11
[linux/fpc-iii.git] / scripts / coccinelle / misc / warn.cocci
blobd2e5b6cedb84da42db3f7c68bc7e68724a3603c9
1 /// Use WARN(1,...) rather than printk followed by WARN_ON(1)
2 ///
3 // Confidence: High
4 // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.  GPLv2.
5 // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.  GPLv2.
6 // URL: http://coccinelle.lip6.fr/
7 // Comments:
8 // Options: --no-includes --include-headers
10 virtual patch
11 virtual context
12 virtual org
13 virtual report
15 @bad1@
16 position p;
19 printk(...);
20 printk@p(...);
21 WARN_ON(1);
23 @r1 depends on context || report || org@
24 position p != bad1.p;
27  printk@p(...);
28 *WARN_ON(1);
30 @script:python depends on org@
31 p << r1.p;
34 cocci.print_main("printk + WARN_ON can be just WARN",p)
36 @script:python depends on report@
37 p << r1.p;
40 msg = "SUGGESTION: printk + WARN_ON can be just WARN"
41 coccilib.report.print_report(p[0],msg)
43 @ok1 depends on patch@
44 expression list es;
45 position p != bad1.p;
48 -printk@p(
49 +WARN(1,
50   es);
51 -WARN_ON(1);
53 @depends on patch@
54 expression list ok1.es;
57 if (...)
58 - {
59   WARN(1,es);
60 - }
62 // --------------------------------------------------------------------
64 @bad2@
65 position p;
68 printk(...);
69 printk@p(...);
70 WARN_ON_ONCE(1);
72 @r2 depends on context || report || org@
73 position p != bad1.p;
76  printk@p(...);
77 *WARN_ON_ONCE(1);
79 @script:python depends on org@
80 p << r2.p;
83 cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
85 @script:python depends on report@
86 p << r2.p;
89 msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
90 coccilib.report.print_report(p[0],msg)
92 @ok2 depends on patch@
93 expression list es;
94 position p != bad2.p;
97 -printk@p(
98 +WARN_ONCE(1,
99   es);
100 -WARN_ON_ONCE(1);
102 @depends on patch@
103 expression list ok2.es;
106 if (...)
107 - {
108   WARN_ONCE(1,es);
109 - }