All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org
Subject: [PATCH v2 14/32] scripts: kernel-doc: add support for typedef enum
Date: Tue,  1 Dec 2020 05:34:44 -0500	[thread overview]
Message-ID: <20201201103502.4024573-15-pbonzini@redhat.com> (raw)
In-Reply-To: <20201201103502.4024573-1-pbonzini@redhat.com>

From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

The PHY kernel-doc markup has gained support for documenting
a typedef enum.

However, right now the parser was not prepared for it.

So, add support for parsing it.

Fixes: 4069a572d423 ("net: phy: Document core PHY structures")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20201117165312.118257-14-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/kernel-doc | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index c4c5640ded..073f72c7da 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1295,14 +1295,22 @@ sub show_warnings($$) {
 sub dump_enum($$) {
     my $x = shift;
     my $file = shift;
+    my $members;
+
 
     $x =~ s@/\*.*?\*/@@gos;	# strip comments.
     # strip #define macros inside enums
     $x =~ s@#\s*((define|ifdef)\s+|endif)[^;]*;@@gos;
 
-    if ($x =~ /enum\s+(\w*)\s*\{(.*)\}/) {
+    if ($x =~ /typedef\s+enum\s*\{(.*)\}\s*(\w*)\s*;/) {
+	$declaration_name = $2;
+	$members = $1;
+    } elsif ($x =~ /enum\s+(\w*)\s*\{(.*)\}/) {
 	$declaration_name = $1;
-	my $members = $2;
+	$members = $2;
+    }
+
+    if ($declaration_name) {
 	my %_members;
 
 	$members =~ s/\s+$//;
@@ -1337,8 +1345,7 @@ sub dump_enum($$) {
 			    'sections' => \%sections,
 			    'purpose' => $declaration_purpose
 			   });
-    }
-    else {
+    } else {
 	print STDERR "${file}:$.: error: Cannot parse enum!\n";
 	++$errors;
     }
-- 
2.26.2




  parent reply	other threads:[~2020-12-01 10:54 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-01 10:34 [PATCH v2 00/32] kernel-doc: update from Linux 5.10 Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 01/32] docs: temporarily disable the kernel-doc extension Paolo Bonzini
2020-12-01 11:01   ` Peter Maydell
2020-12-01 10:34 ` [PATCH v2 02/32] kernel-doc: fix processing nested structs with attributes Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 03/32] kernel-doc: add support for ____cacheline_aligned_in_smp attribute Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 04/32] scripts/kernel-doc: Add support for named variable macro arguments Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 05/32] scripts: kernel-doc: proper handle @foo->bar() Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 06/32] scripts: kernel-doc: accept negation like !@var Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 07/32] scripts: kernel-doc: accept blank lines on parameter description Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 08/32] Replace HTTP links with HTTPS ones: documentation Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 09/32] scripts/kernel-doc: parse __ETHTOOL_DECLARE_LINK_MODE_MASK Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 10/32] scripts/kernel-doc: handle function pointer prototypes Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 11/32] scripts/kernel-doc: optionally treat warnings as errors Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 12/32] kernel-doc: include line numbers for function prototypes Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 13/32] kernel-doc: add support for ____cacheline_aligned attribute Paolo Bonzini
2020-12-01 10:34 ` Paolo Bonzini [this message]
2020-12-01 10:34 ` [PATCH v2 15/32] Revert "scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments" Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 16/32] Revert "kernel-doc: Use c:struct for Sphinx 3.0 and later" Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 17/32] scripts: kernel-doc: make it more compatible with Sphinx 3.x Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 18/32] scripts: kernel-doc: use a less pedantic markup for funcs on " Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 19/32] scripts: kernel-doc: fix troubles with line counts Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 20/32] scripts: kernel-doc: reimplement -nofunction argument Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 21/32] scripts: kernel-doc: fix typedef identification Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 22/32] scripts: kernel-doc: don't mangle with parameter list Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 23/32] scripts: kernel-doc: allow passing desired Sphinx C domain dialect Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 24/32] scripts: kernel-doc: fix line number handling Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 25/32] scripts: kernel-doc: try to use c:function if possible Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 26/32] Revert "kernel-doc: Handle function typedefs without asterisks" Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 27/32] Revert "kernel-doc: Handle function typedefs that return pointers" Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 28/32] scripts: kernel-doc: fix typedef parsing Paolo Bonzini
2020-12-01 10:34 ` [PATCH v2 29/32] scripts: kernel-doc: split typedef complex regex Paolo Bonzini
2020-12-01 10:35 ` [PATCH v2 30/32] scripts: kernel-doc: use :c:union when needed Paolo Bonzini
2020-12-01 10:35 ` [PATCH v2 31/32] Revert "docs: temporarily disable the kernel-doc extension" Paolo Bonzini
2020-12-01 11:02   ` Peter Maydell
2020-12-01 10:35 ` [PATCH v2 32/32] scripts: kernel-doc: remove unnecesssary change wrt Linux Paolo Bonzini
2020-12-01 10:46   ` Peter Maydell
2020-12-02  9:03   ` Philippe Mathieu-Daudé
2020-12-02  9:08     ` Paolo Bonzini
2020-12-01 11:07 ` [PATCH v2 00/32] kernel-doc: update from Linux 5.10 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201201103502.4024573-15-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.