[PATCH 1/9] virtio: align virtio_config_ops::generation return type with Linux

Sascha Hauer sha at pengutronix.de
Mon Mar 1 16:29:47 GMT 2021


On Sun, Feb 28, 2021 at 08:08:28PM +0100, Ahmad Fatoum wrote:
> The U-Boot return type for the function differs from Linux. We use
> the Linux API elsewhere, so use it here as well.
> 
> Signed-off-by: Ahmad Fatoum <ahmad at a3f.at>
> ---
>  drivers/virtio/virtio_mmio.c  | 8 +++-----
>  include/linux/virtio_config.h | 9 ++++-----
>  2 files changed, 7 insertions(+), 10 deletions(-)

Applied, thanks

Sascha

> 
> diff --git a/drivers/virtio/virtio_mmio.c b/drivers/virtio/virtio_mmio.c
> index 821b43871a04..4a689495b8df 100644
> --- a/drivers/virtio/virtio_mmio.c
> +++ b/drivers/virtio/virtio_mmio.c
> @@ -141,16 +141,14 @@ static int virtio_mmio_set_config(struct virtio_device *vdev, unsigned int offse
>  	return 0;
>  }
>  
> -static int virtio_mmio_generation(struct virtio_device *vdev, u32 *counter)
> +static u32 virtio_mmio_generation(struct virtio_device *vdev)
>  {
>  	struct virtio_mmio_device *priv = to_virtio_mmio_device(vdev);
>  
>  	if (priv->version == 1)
> -		*counter = 0;
> -	else
> -		*counter = readl(priv->base + VIRTIO_MMIO_CONFIG_GENERATION);
> +		return 0;
>  
> -	return 0;
> +	return readl(priv->base + VIRTIO_MMIO_CONFIG_GENERATION);
>  }
>  
>  static int virtio_mmio_get_status(struct virtio_device *vdev)
> diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
> index 5ee0807fb098..3ed7001f4800 100644
> --- a/include/linux/virtio_config.h
> +++ b/include/linux/virtio_config.h
> @@ -49,10 +49,9 @@ struct virtio_config_ops {
>  	 * generation() - config generation counter
>  	 *
>  	 * @vdev:	the real virtio device
> -	 * @counter:	the returned config generation counter
> -	 * @return 0 if OK, -ve on error
> +	 * @return the config generation counter
>  	 */
> -	int (*generation)(struct virtio_device *vdev, u32 *counter);
> +	u32 (*generation)(struct virtio_device *vdev);
>  	/**
>  	 * get_status() - read the status byte
>  	 *
> @@ -311,7 +310,7 @@ static inline void __virtio_cread_many(struct virtio_device *vdev,
>  	int i;
>  
>  	/* no need to check return value as generation can be optional */
> -	vdev->config->generation(vdev, &gen);
> +	gen = vdev->config->generation(vdev);
>  	do {
>  		old = gen;
>  
> @@ -319,7 +318,7 @@ static inline void __virtio_cread_many(struct virtio_device *vdev,
>  			virtio_get_config(vdev, offset + bytes * i,
>  					  buf + i * bytes, bytes);
>  
> -		vdev->config->generation(vdev, &gen);
> +		gen = vdev->config->generation(vdev);
>  	} while (gen != old);
>  }
>  
> -- 
> 2.30.0
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list