[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A398C5B.6040705@oracle.com>
Date: Wed, 17 Jun 2009 17:37:47 -0700
From: Randy Dunlap <randy.dunlap@...cle.com>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
samr <sam@...nborg.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: [PATCH] kernel-doc: fix param matching for array params
From: Randy Dunlap <randy.dunlap@...cle.com>
Fix function actual parameter vs. kernel-doc description matching
so that a warning is not printed when it should not be:
Warning(include/linux/etherdevice.h:199): Excess function parameter 'addr' description in 'is_etherdev_addr'
Signed-off-by: Randy Dunlap <randy.dunlap@...cle.com>
---
scripts/kernel-doc | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
--- linux-2.6.30-git11.orig/scripts/kernel-doc
+++ linux-2.6.30-git11/scripts/kernel-doc
@@ -1653,6 +1653,15 @@ sub push_parameter($$$) {
}
}
+ # strip spaces from $param so that it is one continous string
+ # on @parameterlist;
+ # this fixes a problem where check_sections() cannot find
+ # a parameter like "addr[6 + 2]" because it actually appears
+ # as "addr[6", "+", "2]" on the parameter list;
+ # but it's better to maintain the param string unchanged for output,
+ # so just weaken the string compare in check_sections() to ignore
+ # "[blah" in a parameter string;
+ ###$param =~ s/\s*//g;
push @parameterlist, $param;
$parametertypes{$param} = $type;
}
@@ -1671,6 +1680,14 @@ sub check_sections($$$$$$) {
$prm_clean = $prms[$px];
$prm_clean =~ s/\[.*\]//;
$prm_clean =~ s/__attribute__\s*\(\([a-z,_\*\s\(\)]*\)\)//;
+ # ignore array size in a parameter string;
+ # however, the original param string may contain
+ # spaces, e.g.: addr[6 + 2]
+ # and this appears in @prms as "addr[6" since the
+ # parameter list is split at spaces;
+ # hence just ignore "[..." for the sections check;
+ $prm_clean =~ s/\[.*//;
+
##$prm_clean =~ s/^\**//;
if ($prm_clean eq $sects[$sx]) {
$err = 0;
--
~Randy
LPC 2009, Sept. 23-25, Portland, Oregon
http://linuxplumbersconf.org/2009/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists