From 74fc5c653c5d0f9d4d70499709a68e61c4acf991 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Thu, 19 Jun 2008 16:03:29 -0700 Subject: kernel-doc: handle/strip __init Handle __init in functions with kernel-doc notation by stripping the __init away from the output doc. This is already being done for "__devinit". This patch fixes these kernel-doc error/aborts: Error(linux-next-20080619//drivers/usb/gadget/config.c:132): cannot understand prototype: 'struct usb_descriptor_header **__init usb_copy_descriptors(struct usb_descriptor_header **src) ' Error(linux-next-20080619//drivers/usb/gadget/config.c:182): cannot understand prototype: 'struct usb_endpoint_descriptor *__init usb_find_endpoint( struct usb_descriptor_header **src, struct usb_descriptor_header **copy, struct usb_endpoint_descriptor *match ) ' Signed-off-by: Randy Dunlap Cc: David Brownell Signed-off-by: Sam Ravnborg --- scripts/kernel-doc | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts/kernel-doc') diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 88e3934a8b8c..d8f77e26081c 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1643,6 +1643,7 @@ sub dump_function($$) { $prototype =~ s/^__always_inline +//; $prototype =~ s/^noinline +//; $prototype =~ s/__devinit +//; + $prototype =~ s/__init +//; $prototype =~ s/^#define\s+//; #ak added $prototype =~ s/__attribute__\s*\(\([a-z,]*\)\)//; -- cgit v1.2.3 From 32ab8f97dd95592b17e684f7722caa0556087b99 Mon Sep 17 00:00:00 2001 From: Randy Dunlap Date: Tue, 5 Aug 2008 13:01:32 -0700 Subject: kernel-doc: skip nested struct/union cleanly Fix handling of nested structs or unions. The regex to strip (eliminate) nested structs or unions was limited to only 0 or 1 matches. This can cause an uneven number of left/right braces to be stripped, which causes this: Warning(linux-2.6.27-rc1-git2//include/net/mac80211.h:336): No description found for parameter '}' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- scripts/kernel-doc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts/kernel-doc') diff --git a/scripts/kernel-doc b/scripts/kernel-doc index d8f77e26081c..ff787e6ff8ed 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1403,7 +1403,7 @@ sub dump_struct($$) { my $members = $3; # ignore embedded structs or unions - $members =~ s/{.*?}//g; + $members =~ s/{.*}//g; # ignore members marked private: $members =~ s/\/\*.*?private:.*?public:.*?\*\///gos; -- cgit v1.2.3