Subject: Re: [PATCH] gpio: Fix kernel-doc comments to nested union

From: Akira Yokosawa <[email-masked]>
Date: Sun, 12 Jun 2022 09:02:33 +0900

On Mon, 6 Jun 2022 13:44:24 +0900, Akira Yokosawa wrote:
> Commit 48ec13d36d3f ("gpio: Properly document parent data union")
> is supposed to have fixed a warning from "make htmldocs" regarding
> kernel-doc comments to union members.  However, the same warning
> still remains [1].
> 
> Fix the issue by following the example found in section "Nested
> structs/unions" of Documentation/doc-guide/kernel-doc.rst.
> 
> Signed-off-by: Akira Yokosawa <[email-masked]>
> Reported-by: Stephen Rothwell <[email-masked]>
> Fixes: 48ec13d36d3f ("gpio: Properly document parent data union")
> Link: https://lore.kernel.org/r/[email-masked]/ [1]
> Cc: Linus Walleij <[email-masked]>
> Cc: Bartosz Golaszewski <[email-masked]>
> Cc: Joey Gouly <[email-masked]>
> Cc: Marc Zyngier <[email-masked]>
Gentle ping to gpio maintainers.

I thought this fix would go through brgl's tree.

        Thanks, Akira

> ---
>  include/linux/gpio/driver.h | 29 ++++++++++++++++-------------
>  1 file changed, 16 insertions(+), 13 deletions(-)
> 
> diff --git a/include/linux/gpio/driver.h b/include/linux/gpio/driver.h
> index b1e0f1f8ee2e..54c3c6506503 100644
> --- a/include/linux/gpio/driver.h
> +++ b/include/linux/gpio/driver.h
> @@ -167,21 +167,24 @@ struct gpio_irq_chip {
>  	 */
>  	irq_flow_handler_t parent_handler;
>  
> -	/**
> -	 * @parent_handler_data:
> -	 *
> -	 * If @per_parent_data is false, @parent_handler_data is a single
> -	 * pointer used as the data associated with every parent interrupt.
> -	 *
> -	 * @parent_handler_data_array:
> -	 *
> -	 * If @per_parent_data is true, @parent_handler_data_array is
> -	 * an array of @num_parents pointers, and is used to associate
> -	 * different data for each parent. This cannot be NULL if
> -	 * @per_parent_data is true.
> -	 */
>  	union {
> +		/**
> +		 * @parent_handler_data:
> +		 *
> +		 * If @per_parent_data is false, @parent_handler_data is a
> +		 * single pointer used as the data associated with every
> +		 * parent interrupt.
> +		 */
>  		void *parent_handler_data;
> +
> +		/**
> +		 * @parent_handler_data_array:
> +		 *
> +		 * If @per_parent_data is true, @parent_handler_data_array is
> +		 * an array of @num_parents pointers, and is used to associate
> +		 * different data for each parent. This cannot be NULL if
> +		 * @per_parent_data is true.
> +		 */
>  		void **parent_handler_data_array;
>  	};
>  
> 
> base-commit: f2906aa863381afb0015a9eb7fefad885d4e5a56