Linux Audio

Check our new training course

Loading...
v4.17
 
  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
  9
 10virtual patch
 11virtual context
 12virtual org
 13virtual report
 14
 15@bad1@
 16position p;
 17@@
 18
 19printk(...);
 20printk@p(...);
 21WARN_ON(1);
 22
 23@r1 depends on context || report || org@
 24position p != bad1.p;
 25@@
 26
 27 printk@p(...);
 28*WARN_ON(1);
 29
 30@script:python depends on org@
 31p << r1.p;
 32@@
 33
 34cocci.print_main("printk + WARN_ON can be just WARN",p)
 35
 36@script:python depends on report@
 37p << r1.p;
 38@@
 39
 40msg = "SUGGESTION: printk + WARN_ON can be just WARN"
 41coccilib.report.print_report(p[0],msg)
 42
 43@ok1 depends on patch@
 44expression list es;
 45position p != bad1.p;
 46@@
 47
 48-printk@p(
 49+WARN(1,
 50  es);
 51-WARN_ON(1);
 52
 53@depends on patch@
 54expression list ok1.es;
 55@@
 56
 57if (...)
 58- {
 59  WARN(1,es);
 60- }
 61
 62// --------------------------------------------------------------------
 63
 64@bad2@
 65position p;
 66@@
 67
 68printk(...);
 69printk@p(...);
 70WARN_ON_ONCE(1);
 71
 72@r2 depends on context || report || org@
 73position p != bad1.p;
 74@@
 75
 76 printk@p(...);
 77*WARN_ON_ONCE(1);
 78
 79@script:python depends on org@
 80p << r2.p;
 81@@
 82
 83cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
 84
 85@script:python depends on report@
 86p << r2.p;
 87@@
 88
 89msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
 90coccilib.report.print_report(p[0],msg)
 91
 92@ok2 depends on patch@
 93expression list es;
 94position p != bad2.p;
 95@@
 96
 97-printk@p(
 98+WARN_ONCE(1,
 99  es);
100-WARN_ON_ONCE(1);
101
102@depends on patch@
103expression list ok2.es;
104@@
105
106if (...)
107- {
108  WARN_ONCE(1,es);
109- }
v5.9
  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
 10
 11virtual patch
 12virtual context
 13virtual org
 14virtual report
 15
 16@bad1@
 17position p;
 18@@
 19
 20printk(...);
 21printk@p(...);
 22WARN_ON(1);
 23
 24@r1 depends on context || report || org@
 25position p != bad1.p;
 26@@
 27
 28 printk@p(...);
 29*WARN_ON(1);
 30
 31@script:python depends on org@
 32p << r1.p;
 33@@
 34
 35cocci.print_main("printk + WARN_ON can be just WARN",p)
 36
 37@script:python depends on report@
 38p << r1.p;
 39@@
 40
 41msg = "SUGGESTION: printk + WARN_ON can be just WARN"
 42coccilib.report.print_report(p[0],msg)
 43
 44@ok1 depends on patch@
 45expression list es;
 46position p != bad1.p;
 47@@
 48
 49-printk@p(
 50+WARN(1,
 51  es);
 52-WARN_ON(1);
 53
 54@depends on patch@
 55expression list ok1.es;
 56@@
 57
 58if (...)
 59- {
 60  WARN(1,es);
 61- }
 62
 63// --------------------------------------------------------------------
 64
 65@bad2@
 66position p;
 67@@
 68
 69printk(...);
 70printk@p(...);
 71WARN_ON_ONCE(1);
 72
 73@r2 depends on context || report || org@
 74position p != bad1.p;
 75@@
 76
 77 printk@p(...);
 78*WARN_ON_ONCE(1);
 79
 80@script:python depends on org@
 81p << r2.p;
 82@@
 83
 84cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
 85
 86@script:python depends on report@
 87p << r2.p;
 88@@
 89
 90msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
 91coccilib.report.print_report(p[0],msg)
 92
 93@ok2 depends on patch@
 94expression list es;
 95position p != bad2.p;
 96@@
 97
 98-printk@p(
 99+WARN_ONCE(1,
100  es);
101-WARN_ON_ONCE(1);
102
103@depends on patch@
104expression list ok2.es;
105@@
106
107if (...)
108- {
109  WARN_ONCE(1,es);
110- }