Re: [PATCH 05/19] media: i2c: imx290: Drop imx290_write_buffered_reg()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Donnerstag, 21. Juli 2022, 10:35:26 CEST schrieb Laurent Pinchart:
> The imx290_write_buffered_reg() function wraps a register write with
> register hold, to enable changing multiple registers synchronously. It
> is used for the gain only, which is an 8-bit register, defeating its
> purpose.
> 
> The feature is useful, but should be implemented differently. Drop the
> function for now, to prepare for a rework of register access.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> ---
>  drivers/media/i2c/imx290.c | 32 +-------------------------------
>  1 file changed, 1 insertion(+), 31 deletions(-)
> 
> diff --git a/drivers/media/i2c/imx290.c b/drivers/media/i2c/imx290.c
> index 9a0c458a3af0..f280ded2dac3 100644
> --- a/drivers/media/i2c/imx290.c
> +++ b/drivers/media/i2c/imx290.c
> @@ -413,41 +413,11 @@ static int imx290_set_register_array(struct imx290
> *imx290, return 0;
>  }
> 
> -static int imx290_write_buffered_reg(struct imx290 *imx290, u16
> address_low, -				     u8 nr_regs, u32 
value)
> -{
> -	unsigned int i;
> -	int ret;
> -
> -	ret = imx290_write_reg(imx290, IMX290_REGHOLD, 0x01);
> -	if (ret) {
> -		dev_err(imx290->dev, "Error setting hold register\n");
> -		return ret;
> -	}
> -
> -	for (i = 0; i < nr_regs; i++) {
> -		ret = imx290_write_reg(imx290, address_low + i,
> -				       (u8)(value >> (i * 8)));
> -		if (ret) {
> -			dev_err(imx290->dev, "Error writing buffered 
registers\n");
> -			return ret;
> -		}
> -	}
> -
> -	ret = imx290_write_reg(imx290, IMX290_REGHOLD, 0x00);
> -	if (ret) {
> -		dev_err(imx290->dev, "Error setting hold register\n");
> -		return ret;
> -	}
> -
> -	return ret;
> -}
> -
>  static int imx290_set_gain(struct imx290 *imx290, u32 value)
>  {
>  	int ret;
> 
> -	ret = imx290_write_buffered_reg(imx290, IMX290_GAIN, 1, value);
> +	ret = imx290_write_reg(imx290, IMX290_GAIN, value);
>  	if (ret)
>  		dev_err(imx290->dev, "Unable to write gain\n");

Acked-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>






[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux