diff mbox series

[1/3] scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none

Message ID 1511968805-20651-1-git-send-email-will.deacon@arm.com
State New
Headers show
Series [1/3] scripts/kernel-doc: Don't fail with status != 0 if error encountered with -none | expand

Commit Message

Will Deacon Nov. 29, 2017, 3:20 p.m. UTC
My bisect scripts starting running into build failures when trying to
compile 4.15-rc1 with the builds failing with things like:

drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:2078: error: Cannot parse struct or union!

The line in question is actually just a #define, but after some digging
it turns out that my scripts pass W=1 and since commit 3a025e1d1c2ea
("Add optional check for bad kernel-doc comments") that results in
kernel-doc running on each source file. The file in question has a
badly formatted comment immediately before the #define:

/**
 * struct brcmf_skbuff_cb reserves first two bytes in sk_buff::cb for
 * bus layer usage.
 */

which causes the regex in dump_struct to fail (lack of braces following
struct declaration) and kernel-doc returns 1, which causes the build
to fail.

Fix the issue by always returning 0 from kernel-doc when invoked with
-none. It successfully generates no documentation, and prints out any
issues.

Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Will Deacon <will.deacon@arm.com>

---
 scripts/kernel-doc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.1.4

Comments

Jonathan Corbet Nov. 29, 2017, 4:12 p.m. UTC | #1
On Wed, 29 Nov 2017 15:20:03 +0000
Will Deacon <will.deacon@arm.com> wrote:

> My bisect scripts starting running into build failures when trying to

> compile 4.15-rc1 with the builds failing with things like:

> 

> drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:2078: error: Cannot parse struct or union!

> 

> The line in question is actually just a #define, but after some digging

> it turns out that my scripts pass W=1 and since commit 3a025e1d1c2ea

> ("Add optional check for bad kernel-doc comments") that results in

> kernel-doc running on each source file. The file in question has a

> badly formatted comment immediately before the #define:

> 

> /**

>  * struct brcmf_skbuff_cb reserves first two bytes in sk_buff::cb for

>  * bus layer usage.

>  */

> 

> which causes the regex in dump_struct to fail (lack of braces following

> struct declaration) and kernel-doc returns 1, which causes the build

> to fail.

> 

> Fix the issue by always returning 0 from kernel-doc when invoked with

> -none. It successfully generates no documentation, and prints out any

> issues.


That seems like a worthy fix.  I can take this one and ship it up with a
few other docs fixes in the near future, thanks.

jon
Will Deacon Nov. 29, 2017, 4:35 p.m. UTC | #2
On Wed, Nov 29, 2017 at 09:12:14AM -0700, Jonathan Corbet wrote:
> On Wed, 29 Nov 2017 15:20:03 +0000

> Will Deacon <will.deacon@arm.com> wrote:

> 

> > My bisect scripts starting running into build failures when trying to

> > compile 4.15-rc1 with the builds failing with things like:

> > 

> > drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c:2078: error: Cannot parse struct or union!

> > 

> > The line in question is actually just a #define, but after some digging

> > it turns out that my scripts pass W=1 and since commit 3a025e1d1c2ea

> > ("Add optional check for bad kernel-doc comments") that results in

> > kernel-doc running on each source file. The file in question has a

> > badly formatted comment immediately before the #define:

> > 

> > /**

> >  * struct brcmf_skbuff_cb reserves first two bytes in sk_buff::cb for

> >  * bus layer usage.

> >  */

> > 

> > which causes the regex in dump_struct to fail (lack of braces following

> > struct declaration) and kernel-doc returns 1, which causes the build

> > to fail.

> > 

> > Fix the issue by always returning 0 from kernel-doc when invoked with

> > -none. It successfully generates no documentation, and prints out any

> > issues.

> 

> That seems like a worthy fix.  I can take this one and ship it up with a

> few other docs fixes in the near future, thanks.


Brill, cheers Jon. It had me extremely confused for a while until I figured
out the warning wasn't coming from GCC :)

Will
diff mbox series

Patch

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index bd29a92b4b48..df0f045a9a89 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -3248,4 +3248,4 @@  if ($verbose && $warnings) {
   print STDERR "$warnings warnings\n";
 }
 
-exit($errors);
+exit($output_mode eq "none" ? 0 : $errors);