From: Fabio Estevam <fabio.este...@freesale.com>

In the case of errors we should propagate them.

Signed-off-by: Fabio Estevam <fabio.estevam at freesale.com>
---
 drivers/gpu/drm/imx/imx-tve.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
index a729f4f7..a281723 100644
--- a/drivers/gpu/drm/imx/imx-tve.c
+++ b/drivers/gpu/drm/imx/imx-tve.c
@@ -191,10 +191,18 @@ static int tve_setup_vga(struct imx_tve *tve)
        /* set gain to (1 + 10/128) to provide 0.7V peak-to-peak amplitude */
        ret = regmap_update_bits(tve->regmap, TVE_TVDAC0_CONT_REG,
                                 TVE_TVDAC_GAIN_MASK, 0x0a);
+       if (ret)
+               return ret;
+
        ret = regmap_update_bits(tve->regmap, TVE_TVDAC1_CONT_REG,
                                 TVE_TVDAC_GAIN_MASK, 0x0a);
+       if (ret)
+               return ret;
+
        ret = regmap_update_bits(tve->regmap, TVE_TVDAC2_CONT_REG,
                                 TVE_TVDAC_GAIN_MASK, 0x0a);
+       if (ret)
+               return ret;

        /* set configuration register */
        mask = TVE_DATA_SOURCE_MASK | TVE_INP_VIDEO_FORM;
@@ -210,10 +218,8 @@ static int tve_setup_vga(struct imx_tve *tve)
        }

        /* set test mode (as documented) */
-       ret = regmap_update_bits(tve->regmap, TVE_TST_MODE_REG,
+       return regmap_update_bits(tve->regmap, TVE_TST_MODE_REG,
                                 TVE_TVDAC_TEST_MODE_MASK, 1);
-
-       return 0;
 }

 static enum drm_connector_status imx_tve_connector_detect(
@@ -671,6 +677,8 @@ static int imx_tve_bind(struct device *dev, struct device 
*master, void *data)

        /* disable cable detection for VGA mode */
        ret = regmap_write(tve->regmap, TVE_CD_CONT_REG, 0);
+       if (ret)
+               return ret;

        ret = imx_tve_register(drm, tve);
        if (ret)
-- 
1.9.1

Reply via email to