Re: [PATCH 4/4] media: ov5647: Use gpiod_set_value_cansleep

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

 



Hi Roman,

On Mon, Apr 13, 2020 at 12:17:47PM +0300, Roman Kovalivskyi wrote:
> From: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
> 
> All calls to the gpio library are in contexts that can sleep,
> therefore there is no issue with having those GPIOs controlled
> by controllers which require sleeping (eg I2C GPIO expanders).
> 
> Switch to using gpiod_set_value_cansleep instead of gpiod_set_value
> to avoid triggering the warning in gpiolib should the GPIO
> controller need to sleep.
> 
> Signed-off-by: Dave Stevenson <dave.stevenson@xxxxxxxxxxxxxxx>
> Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@xxxxxxxxxxxxxxx>

This should be merged with the second patch.

> ---
>  drivers/media/i2c/ov5647.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
> index 8a1a515388e0..07550377be2e 100644
> --- a/drivers/media/i2c/ov5647.c
> +++ b/drivers/media/i2c/ov5647.c
> @@ -373,7 +373,7 @@ static int ov5647_sensor_power(struct v4l2_subdev *sd, int on)
>  		dev_dbg(&client->dev, "OV5647 power on\n");
>  
>  		if (ov5647->pwdn) {
> -			gpiod_set_value(ov5647->pwdn, 0);
> +			gpiod_set_value_cansleep(ov5647->pwdn, 0);
>  			msleep(PWDN_ACTIVE_DELAY_MS);
>  		}
>  
> @@ -415,7 +415,7 @@ static int ov5647_sensor_power(struct v4l2_subdev *sd, int on)
>  
>  		clk_disable_unprepare(ov5647->xclk);
>  
> -		gpiod_set_value(ov5647->pwdn, 1);
> +		gpiod_set_value_cansleep(ov5647->pwdn, 1);
>  	}
>  
>  	/* Update the power count. */
> @@ -648,13 +648,13 @@ static int ov5647_probe(struct i2c_client *client)
>  		goto mutex_remove;
>  
>  	if (sensor->pwdn) {
> -		gpiod_set_value(sensor->pwdn, 0);
> +		gpiod_set_value_cansleep(sensor->pwdn, 0);
>  		msleep(PWDN_ACTIVE_DELAY_MS);
>  	}
>  
>  	ret = ov5647_detect(sd);
>  
> -	gpiod_set_value(sensor->pwdn, 1);
> +	gpiod_set_value_cansleep(sensor->pwdn, 1);
>  
>  	if (ret < 0)
>  		goto error;
> -- 
> 2.17.1
> 

-- 
Sakari Ailus



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux