2023-01-06 20:40:35

by SeongJae Park

[permalink] [raw]
Subject: [PATCH] include/linux/mm: fix release_pages_arg kernel doc comment

Commit 449c796768c9 ("mm: teach release_pages() to take an array of
encoded page pointers too") added the kernel doc comment for
release_pages() on top of 'union release_pages_arg', so making 'make
htmldocs' complains as below:

./include/linux/mm.h:1268: warning: cannot understand function prototype: 'typedef union '

The kernel doc comment for the function is already on top of the
function's definition in mm/swap.c, and the new comment is actually not
for the function but indeed release_pages_arg. Fixing the comment to
reflect the intent would be one option. But, kernel doc cannot parse
the union as below due to the attribute.

./include/linux/mm.h:1272: error: Cannot parse struct or union!

Modify the comment to reflect the intent but do not mark it as a kernel
doc comment.

Fixes: 449c796768c9 ("mm: teach release_pages() to take an array of encoded page pointers too")
Signed-off-by: SeongJae Park <[email protected]>
---
include/linux/mm.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index a2bf261cdbef..3df8815f6d51 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1297,10 +1297,10 @@ static inline void folio_put_refs(struct folio *folio, int refs)
__folio_put(folio);
}

-/**
- * release_pages - release an array of pages or folios
+/*
+ * union release_pages_arg - an array of pages or folios
*
- * This just releases a simple array of multiple pages, and
+ * release_pages() releases a simple array of multiple pages, and
* accepts various different forms of said page array: either
* a regular old boring array of pages, an array of folios, or
* an array of encoded page pointers.
--
2.25.1


2023-01-06 21:59:22

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] include/linux/mm: fix release_pages_arg kernel doc comment



On 1/6/23 12:33, SeongJae Park wrote:
> Commit 449c796768c9 ("mm: teach release_pages() to take an array of
> encoded page pointers too") added the kernel doc comment for
> release_pages() on top of 'union release_pages_arg', so making 'make
> htmldocs' complains as below:
>
> ./include/linux/mm.h:1268: warning: cannot understand function prototype: 'typedef union '
>
> The kernel doc comment for the function is already on top of the
> function's definition in mm/swap.c, and the new comment is actually not
> for the function but indeed release_pages_arg. Fixing the comment to
> reflect the intent would be one option. But, kernel doc cannot parse
> the union as below due to the attribute.
>
> ./include/linux/mm.h:1272: error: Cannot parse struct or union!
>
> Modify the comment to reflect the intent but do not mark it as a kernel
> doc comment.
>
> Fixes: 449c796768c9 ("mm: teach release_pages() to take an array of encoded page pointers too")
> Signed-off-by: SeongJae Park <[email protected]>

Acked-by: Randy Dunlap <[email protected]>

Thanks.

> ---
> include/linux/mm.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index a2bf261cdbef..3df8815f6d51 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -1297,10 +1297,10 @@ static inline void folio_put_refs(struct folio *folio, int refs)
> __folio_put(folio);
> }
>
> -/**
> - * release_pages - release an array of pages or folios
> +/*
> + * union release_pages_arg - an array of pages or folios
> *
> - * This just releases a simple array of multiple pages, and
> + * release_pages() releases a simple array of multiple pages, and
> * accepts various different forms of said page array: either
> * a regular old boring array of pages, an array of folios, or
> * an array of encoded page pointers.

--
~Randy