WIP FPC-III support
[linux/fpc-iii.git] / scripts / coccinelle / misc / warn.cocci
blobe379661e240dfefd03028ab5f16add75539ac3f7
1 // SPDX-License-Identifier: GPL-2.0-only
2 /// Use WARN(1,...) rather than printk followed by WARN_ON(1)
3 ///
4 // Confidence: High
5 // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6.
6 // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6.
7 // URL: http://coccinelle.lip6.fr/
8 // Comments:
9 // Options: --no-includes --include-headers
11 virtual patch
12 virtual context
13 virtual org
14 virtual report
16 @bad1@
17 position p;
20 printk(...);
21 printk@p(...);
22 WARN_ON(1);
24 @r1 depends on context || report || org@
25 position p != bad1.p;
28  printk@p(...);
29 *WARN_ON(1);
31 @script:python depends on org@
32 p << r1.p;
35 cocci.print_main("printk + WARN_ON can be just WARN",p)
37 @script:python depends on report@
38 p << r1.p;
41 msg = "SUGGESTION: printk + WARN_ON can be just WARN"
42 coccilib.report.print_report(p[0],msg)
44 @ok1 depends on patch@
45 expression list es;
46 position p != bad1.p;
49 -printk@p(
50 +WARN(1,
51   es);
52 -WARN_ON(1);
54 @depends on patch@
55 expression list ok1.es;
58 if (...)
59 - {
60   WARN(1,es);
61 - }
63 // --------------------------------------------------------------------
65 @bad2@
66 position p;
69 printk(...);
70 printk@p(...);
71 WARN_ON_ONCE(1);
73 @r2 depends on context || report || org@
74 position p != bad1.p;
77  printk@p(...);
78 *WARN_ON_ONCE(1);
80 @script:python depends on org@
81 p << r2.p;
84 cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
86 @script:python depends on report@
87 p << r2.p;
90 msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
91 coccilib.report.print_report(p[0],msg)
93 @ok2 depends on patch@
94 expression list es;
95 position p != bad2.p;
98 -printk@p(
99 +WARN_ONCE(1,
100   es);
101 -WARN_ON_ONCE(1);
103 @depends on patch@
104 expression list ok2.es;
107 if (...)
108 - {
109   WARN_ONCE(1,es);
110 - }