OSDN Git Service

scripts/kernel-doc: strip QEMU_ from function definitions
authorAlex Bennée <alex.bennee@linaro.org>
Tue, 23 Mar 2021 16:52:47 +0000 (16:52 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Wed, 24 Mar 2021 14:24:40 +0000 (14:24 +0000)
Some packaged versions of Sphinx (fedora33/alpine so far) have issues
with the annotated C code that kernel-doc spits out. Without knowing
about things like QEMU_PLUGIN_EXPORT it chokes trying to understand
the code. Evidently this is a problem for the kernel as well as the
long stream of regex substitutions we add to in this patch can attest.

Fortunately we have a fairly common format for all our compiler
shenanigans as applied to functions so lets just filter them all out.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210323165308.15244-2-alex.bennee@linaro.org>

scripts/kernel-doc

index 4b19851..240923d 100755 (executable)
@@ -1745,6 +1745,9 @@ sub dump_function($$) {
             )+
           \)\)\s+//x;
 
+    # Strip QEMU specific compiler annotations
+    $prototype =~ s/QEMU_[A-Z_]+ +//;
+
     # Yes, this truly is vile.  We are looking for:
     # 1. Return type (may be nothing if we're looking at a macro)
     # 2. Function name