coccinelle: misc: secs_to_jiffies: implement context and report modes

As requested by Ricardo and Jakub, implement report and context modes for
the secs_to_jiffies Coccinelle script.  While here, add the option to look
for opportunities to use secs_to_jiffies() in headers.

Link: https://lkml.kernel.org/r/20250703225145.152288-1-eahariha@linux.microsoft.com
Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
Closes: https://lore.kernel.org/all/20250129-secs_to_jiffles-v1-1-35a5e16b9f03@chromium.org/
Closes: https://lore.kernel.org/all/20250221162107.409ae333@kernel.org/
Tested-by: Ricardo Ribalda <ribalda@chromium.org>
Cc: Julia Lawall <julia.lawall@inria.fr>
Cc: Nicolas Palix <nicolas.palix@imag.fr>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Ricardo Ribalda <ribalda@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Easwar Hariharan
2025-07-03 15:51:32 -07:00
committed by Andrew Morton
parent ee13240cd7
commit 249e7ced72

View File

@@ -7,26 +7,65 @@
// Confidence: High // Confidence: High
// Copyright: (C) 2024 Easwar Hariharan, Microsoft // Copyright: (C) 2024 Easwar Hariharan, Microsoft
// Keywords: secs, seconds, jiffies // Keywords: secs, seconds, jiffies
// // Options: --include-headers
virtual patch virtual patch
virtual report
virtual context
@depends on patch@ constant C; @@ @pconst depends on patch@ constant C; @@
- msecs_to_jiffies(C * 1000) - msecs_to_jiffies(C * 1000)
+ secs_to_jiffies(C) + secs_to_jiffies(C)
@depends on patch@ constant C; @@ @pconstms depends on patch@ constant C; @@
- msecs_to_jiffies(C * MSEC_PER_SEC) - msecs_to_jiffies(C * MSEC_PER_SEC)
+ secs_to_jiffies(C) + secs_to_jiffies(C)
@depends on patch@ expression E; @@ @pexpr depends on patch@ expression E; @@
- msecs_to_jiffies(E * 1000) - msecs_to_jiffies(E * 1000)
+ secs_to_jiffies(E) + secs_to_jiffies(E)
@depends on patch@ expression E; @@ @pexprms depends on patch@ expression E; @@
- msecs_to_jiffies(E * MSEC_PER_SEC) - msecs_to_jiffies(E * MSEC_PER_SEC)
+ secs_to_jiffies(E) + secs_to_jiffies(E)
@r depends on report && !patch@
constant C;
expression E;
position p;
@@
(
msecs_to_jiffies(C@p * 1000)
|
msecs_to_jiffies(C@p * MSEC_PER_SEC)
|
msecs_to_jiffies(E@p * 1000)
|
msecs_to_jiffies(E@p * MSEC_PER_SEC)
)
@c depends on context && !patch@
constant C;
expression E;
@@
(
* msecs_to_jiffies(C * 1000)
|
* msecs_to_jiffies(C * MSEC_PER_SEC)
|
* msecs_to_jiffies(E * 1000)
|
* msecs_to_jiffies(E * MSEC_PER_SEC)
)
@script:python depends on report@
p << r.p;
@@
coccilib.report.print_report(p[0], "WARNING opportunity for secs_to_jiffies()")