scripts/kernel-doc: strip QEMU_ from function definitions

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>
This commit is contained in:
Alex Bennée 2021-03-23 16:52:47 +00:00
parent 01874b15d3
commit b30df2751e

View File

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