[PATCH 09/11] staging: vchiq: Move struct vchiq_config to vchiq.h

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Jun 5 00:16:19 PDT 2024


Hi Stefan,

Thank you for the patch.

On Tue, Jun 04, 2024 at 07:29:02PM +0200, Stefan Wahren wrote:
> This struct is part of the VCHIQ userspace API, which we
> don't want to break. So move the struct definition to
> vchiq.h, which contains the rest of the userspace API.

Dies it ? vchiq.h contains lots of kernel API elements. Beside, we have
headers such as vc04_services/interface/vchiq_arm/vchiq_ioctl.h that
contain UAPI elements.

Splitting the UAPI to separate headers is a good idea. Could you address
that task as a whole, and create a
drivers/staging/vc04_services/include/uapi/linux/raspberrypi/vchiq.h
file for the whole UAPI ?

> Signed-off-by: Stefan Wahren <wahrenst at gmx.net>
> ---
>  .../vc04_services/include/linux/raspberrypi/vchiq.h  | 12 ++++++++++++
>  .../vc04_services/interface/vchiq_arm/vchiq_core.h   | 12 ------------
>  2 files changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> index 6c40d8c1dde6..2e34c67966c6 100644
> --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> @@ -79,6 +79,18 @@ struct vchiq_service_params_kernel {
>  	short version_min;   /* Update for incompatible changes */
>  };
> 
> +struct vchiq_config {
> +	unsigned int max_msg_size;
> +	unsigned int bulk_threshold;	/* The message size above which it
> +					 * is better to use a bulk transfer
> +					 * (<= max_msg_size)
> +					 */
> +	unsigned int max_outstanding_bulks;
> +	unsigned int max_services;
> +	short version;      /* The version of VCHIQ */
> +	short version_min;  /* The minimum compatible version of VCHIQ */
> +};
> +
>  extern int vchiq_initialise(struct vchiq_state *state,
>  			    struct vchiq_instance **pinstance);
>  extern int vchiq_shutdown(struct vchiq_instance *instance);
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h
> index 3abcd6910f25..a83f9a5d478f 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h
> @@ -423,18 +423,6 @@ struct bulk_waiter {
>  	int actual;
>  };
> 
> -struct vchiq_config {
> -	unsigned int max_msg_size;
> -	unsigned int bulk_threshold;	/* The message size above which it
> -					 * is better to use a bulk transfer
> -					 * (<= max_msg_size)
> -					 */
> -	unsigned int max_outstanding_bulks;
> -	unsigned int max_services;
> -	short version;      /* The version of VCHIQ */
> -	short version_min;  /* The minimum compatible version of VCHIQ */
> -};
> -
>  extern spinlock_t bulk_waiter_spinlock;
> 
>  extern const char *

-- 
Regards,

Laurent Pinchart



More information about the linux-arm-kernel mailing list