[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