Skip to content

Commit a88b167

Browse files
mchehabJonathan Corbet
authored andcommitted
doc-rst: kernel-doc: fix handling of address_space tags
The RST cpp:function handler is very pedantic: it doesn't allow any macros like __user on it: Documentation/media/kapi/dtv-core.rst:28: WARNING: Error when parsing function declaration. If the function has no return type: Error in declarator or parameters and qualifiers Invalid definition: Expecting "(" in parameters_and_qualifiers. [error at 8] ssize_t dvb_ringbuffer_pkt_read_user (struct dvb_ringbuffer * rbuf, size_t idx, int offset, u8 __user * buf, size_t len) --------^ If the function has a return type: Error in declarator or parameters and qualifiers If pointer to member declarator: Invalid definition: Expected '::' in pointer to member (function). [error at 37] ssize_t dvb_ringbuffer_pkt_read_user (struct dvb_ringbuffer * rbuf, size_t idx, int offset, u8 __user * buf, size_t len) -------------------------------------^ If declarator-id: Invalid definition: Expecting "," or ")" in parameters_and_qualifiers, got "*". [error at 102] ssize_t dvb_ringbuffer_pkt_read_user (struct dvb_ringbuffer * rbuf, size_t idx, int offset, u8 __user * buf, size_t len) ------------------------------------------------------------------------------------------------------^ So, we have to remove it from the function prototype. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Signed-off-by: Jonathan Corbet <[email protected]>
1 parent 29310a5 commit a88b167

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

scripts/kernel-doc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1848,6 +1848,10 @@ sub output_function_rst(%) {
18481848
}
18491849
$count++;
18501850
$type = $args{'parametertypes'}{$parameter};
1851+
1852+
# RST doesn't like address_space tags at function prototypes
1853+
$type =~ s/__(user|kernel|iomem|percpu|pmem|rcu)\s*//;
1854+
18511855
if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
18521856
# pointer-to-function
18531857
print $1 . $parameter . ") (" . $2;

0 commit comments

Comments
 (0)