[U-Boot] [PATCH v3 2/5] dm: video: bridge: don't fail to activate bridge if reset or sleep GPIO is missing

Andre Przywara andre.przywara at arm.com
Thu Oct 18 14:18:36 UTC 2018


On Wed, 17 Oct 2018 22:56:48 -0700
Vasily Khoruzhick <anarsoul at gmail.com> wrote:

> Both GPIOs are optional, so we shouldn't fail if any is missing.
> Without this fix reset is not deasserted if sleep GPIO is missing.
> 
> Signed-off-by: Vasily Khoruzhick <anarsoul at gmail.com>
> Acked-by: Maxime Ripard <maxime.ripard at bootlin.com>
> Tested-by: Maxime Ripard <maxime.ripard at bootlin.com>
> Cc: Vagrant Cascadian <vagrant at debian.org>

Reviewed-by: Andre Przywara <andre.przywara at arm.com>

Thanks!
Andre.

> ---
>  drivers/video/bridge/video-bridge-uclass.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/video/bridge/video-bridge-uclass.c
> b/drivers/video/bridge/video-bridge-uclass.c index
> cd4959cc71..5fecb4cfd5 100644 ---
> a/drivers/video/bridge/video-bridge-uclass.c +++
> b/drivers/video/bridge/video-bridge-uclass.c @@ -106,13 +106,19 @@
> static int video_bridge_pre_probe(struct udevice *dev) int
> video_bridge_set_active(struct udevice *dev, bool active) {
>  	struct video_bridge_priv *uc_priv = dev_get_uclass_priv(dev);
> -	int ret;
> +	int ret = 0;
>  
>  	debug("%s: %d\n", __func__, active);
> -	ret = dm_gpio_set_value(&uc_priv->sleep, !active);
> -	if (ret)
> -		return ret;
> -	if (active) {
> +	if (uc_priv->sleep.dev) {
> +		ret = dm_gpio_set_value(&uc_priv->sleep, !active);
> +		if (ret)
> +			return ret;
> +	}
> +
> +	if (!active)
> +		return 0;
> +
> +	if (uc_priv->reset.dev) {
>  		ret = dm_gpio_set_value(&uc_priv->reset, true);
>  		if (ret)
>  			return ret;



More information about the U-Boot mailing list