From: Joe Perches on
On Tue, 2010-07-27 at 15:39 -0700, Patrick Pannuto wrote:
> When possible, sleeping is (usually) better than delaying,
> however, don't bother callers of udelay < 10us, as those
> cases are not with the switch to usleep_range
> +# prefer usleep_range over udelay
> + if ($line =~ /\budelay\s*\((.+)\);/) {
> + # ignore udelay's < 10, however

This doesn't handle these cases:

udelay(MY_DEFINED_DELAY)
udelay( 100 )

Shouldn't this be:

if (($line =~ /\budelay\s*\(\s*(\w+)\s*\)/ {
WARN("usleep_range is preferred over udelay; see Documentation/timers/delays.txt\n" . $line);

Maybe these should be converted from WARN to CHK

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Patrick Pannuto on
On 08/04/2010 02:25 AM, tip-bot for Patrick Pannuto wrote:
> Commit-ID: 022d60db2ab6e97f93c98808d08fd883003048c7
> Gitweb: http://git.kernel.org/tip/022d60db2ab6e97f93c98808d08fd883003048c7
> Author: Patrick Pannuto <ppannuto(a)codeaurora.org>
> AuthorDate: Mon, 2 Aug 2010 15:01:06 -0700
> Committer: Thomas Gleixner <tglx(a)linutronix.de>
> CommitDate: Wed, 4 Aug 2010 11:00:45 +0200
>
> Checkpatch: Prefer usleep_range over udelay
>
> When possible, sleeping is (usually) better than delaying;
> however, don't bother callers of udelay < 10us, as those
> cases are generally not worth the switch to usleep
>
> Signed-off-by: Patrick Pannuto <ppannuto(a)codeaurora.org>
> Cc: apw(a)canonical.com
> Cc: corbet(a)lwn.net
> Cc: arjan(a)linux.intel.com
> Cc: Joe Perches <joe(a)perches.com>
> Cc: Andrew Morton <akpm(a)linux-foundation.org>
> LKML-Reference: <1280786467-26999-4-git-send-email-ppannuto(a)codeaurora.org>
> Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
> ---
> scripts/checkpatch.pl | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index bd88f11..1698c63 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2570,6 +2570,14 @@ sub process {
> }
> }
>
> +# prefer usleep_range over udelay
> + if (($line =~ /\budelay\s*\(\s*(\w+)\s*\)/ {
> + # ignore udelay's < 10, however
> + if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) {
> + CHK("usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line);
> + }
> + }
> +
> # warn about #ifdefs in C files
> # if ($line =~ /^.\s*\#\s*if(|n)def/ && ($realfile =~ /\.c$/)) {
> # print "#ifdef in C files should be avoided\n";


Andrew Morton's patch to fix the parentheses imbalance in the original
patch was missed (sorry for the initial error). This breaks checkpatch
in tip; could you pull in this too from -mm to tip?

Sorry for the extra trouble

-Pat


(FROM ANDREW):

The patch titled
checkpatch-prefer-usleep_range-over-udelay-fix
has been added to the -mm tree. Its filename is
checkpatch-prefer-usleep_range-over-udelay-fix.patch

Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
out what to do about this

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: checkpatch-prefer-usleep_range-over-udelay-fix
From: Andrew Morton <akpm(a)linux-foundation.org>

syntax error at scripts/checkpatch.pl line 2598, near "/\budelay\s*\(\s*(\w+)\s*\)/ {"

mismatched parentheses?

Cc: Ingo Molnar <mingo(a)elte.hu>
Cc: Patrick Pannuto <ppannuto(a)codeaurora.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---

scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN scripts/checkpatch.pl~checkpatch-prefer-usleep_range-over-udelay-fix scripts/checkpatch.pl
--- a/scripts/checkpatch.pl~checkpatch-prefer-usleep_range-over-udelay-fix
+++ a/scripts/checkpatch.pl
@@ -2595,7 +2595,7 @@ sub process {
}

# prefer usleep_range over udelay
- if (($line =~ /\budelay\s*\(\s*(\w+)\s*\)/ {
+ if ($line =~ /\budelay\s*\(\s*(\w+)\s*\)/) {
# ignore udelay's < 10, however
if (! (($1 =~ /(\d+)/) && ($1 < 10)) ) {
CHK("usleep_range is preferred over udelay; see Documentation/timers/timers-howto.txt\n" . $line);



--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/