mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-15 13:07:14 +00:00

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>
72 lines
1.3 KiB
Plaintext
72 lines
1.3 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0-only
|
|
///
|
|
/// Find usages of:
|
|
/// - msecs_to_jiffies(value*1000)
|
|
/// - msecs_to_jiffies(value*MSEC_PER_SEC)
|
|
///
|
|
// Confidence: High
|
|
// Copyright: (C) 2024 Easwar Hariharan, Microsoft
|
|
// Keywords: secs, seconds, jiffies
|
|
// Options: --include-headers
|
|
|
|
virtual patch
|
|
virtual report
|
|
virtual context
|
|
|
|
@pconst depends on patch@ constant C; @@
|
|
|
|
- msecs_to_jiffies(C * 1000)
|
|
+ secs_to_jiffies(C)
|
|
|
|
@pconstms depends on patch@ constant C; @@
|
|
|
|
- msecs_to_jiffies(C * MSEC_PER_SEC)
|
|
+ secs_to_jiffies(C)
|
|
|
|
@pexpr depends on patch@ expression E; @@
|
|
|
|
- msecs_to_jiffies(E * 1000)
|
|
+ secs_to_jiffies(E)
|
|
|
|
@pexprms depends on patch@ expression E; @@
|
|
|
|
- msecs_to_jiffies(E * MSEC_PER_SEC)
|
|
+ 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()")
|