[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 14/32] scripts: kernel-doc: add support for typedef enum
From: |
Paolo Bonzini |
Subject: |
[PATCH v2 14/32] scripts: kernel-doc: add support for typedef enum |
Date: |
Tue, 1 Dec 2020 05:34:44 -0500 |
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
- [PATCH v2 00/32] kernel-doc: update from Linux 5.10, Paolo Bonzini, 2020/12/01
- [PATCH v2 01/32] docs: temporarily disable the kernel-doc extension, Paolo Bonzini, 2020/12/01
- [PATCH v2 03/32] kernel-doc: add support for ____cacheline_aligned_in_smp attribute, Paolo Bonzini, 2020/12/01
- [PATCH v2 05/32] scripts: kernel-doc: proper handle @foo->bar(), Paolo Bonzini, 2020/12/01
- [PATCH v2 06/32] scripts: kernel-doc: accept negation like !@var, Paolo Bonzini, 2020/12/01
- [PATCH v2 04/32] scripts/kernel-doc: Add support for named variable macro arguments, Paolo Bonzini, 2020/12/01
- [PATCH v2 09/32] scripts/kernel-doc: parse __ETHTOOL_DECLARE_LINK_MODE_MASK, Paolo Bonzini, 2020/12/01
- [PATCH v2 08/32] Replace HTTP links with HTTPS ones: documentation, Paolo Bonzini, 2020/12/01
- [PATCH v2 14/32] scripts: kernel-doc: add support for typedef enum,
Paolo Bonzini <=
- [PATCH v2 07/32] scripts: kernel-doc: accept blank lines on parameter description, Paolo Bonzini, 2020/12/01
- [PATCH v2 15/32] Revert "scripts/kerneldoc: For Sphinx 3 use c:macro for macros with arguments", Paolo Bonzini, 2020/12/01
- [PATCH v2 10/32] scripts/kernel-doc: handle function pointer prototypes, Paolo Bonzini, 2020/12/01
- [PATCH v2 11/32] scripts/kernel-doc: optionally treat warnings as errors, Paolo Bonzini, 2020/12/01
- [PATCH v2 02/32] kernel-doc: fix processing nested structs with attributes, Paolo Bonzini, 2020/12/01
- [PATCH v2 16/32] Revert "kernel-doc: Use c:struct for Sphinx 3.0 and later", Paolo Bonzini, 2020/12/01
- [PATCH v2 26/32] Revert "kernel-doc: Handle function typedefs without asterisks", Paolo Bonzini, 2020/12/01
- [PATCH v2 19/32] scripts: kernel-doc: fix troubles with line counts, Paolo Bonzini, 2020/12/01
- [PATCH v2 20/32] scripts: kernel-doc: reimplement -nofunction argument, Paolo Bonzini, 2020/12/01
- [PATCH v2 25/32] scripts: kernel-doc: try to use c:function if possible, Paolo Bonzini, 2020/12/01