[PATCH 1/3] drm/exynos/dsi: Use common error handling code in exynos_dsi_enable()

Krzysztof Kozlowski krzk at kernel.org
Tue Oct 24 08:51:09 UTC 2017


On Tue, Oct 24, 2017 at 10:49 AM, SF Markus Elfring
<elfring at users.sourceforge.net> wrote:
> From: Markus Elfring <elfring at users.sourceforge.net>
> Date: Tue, 24 Oct 2017 09:32:18 +0200
>
> Add a jump target so that a bit of exception handling can be better reused
> at the end of this function.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring at users.sourceforge.net>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_dsi.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> index 7904ffa9abfb..ba5fb49c5491 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
> @@ -1389,8 +1389,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
>         ret = drm_panel_prepare(dsi->panel);
>         if (ret < 0) {
>                 dsi->state &= ~DSIM_STATE_ENABLED;
> -               pm_runtime_put_sync(dsi->dev);
> -               return;
> +               goto put_sync;
>         }
>
>         exynos_dsi_set_display_mode(dsi);
> @@ -1401,11 +1400,14 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
>                 dsi->state &= ~DSIM_STATE_ENABLED;
>                 exynos_dsi_set_display_enable(dsi, false);
>                 drm_panel_unprepare(dsi->panel);
> -               pm_runtime_put_sync(dsi->dev);
> -               return;
> +               goto put_sync;
>         }
>
>         dsi->state |= DSIM_STATE_VIDOUT_AVAILABLE;
> +       return;
> +
> +put_sync:
> +       pm_runtime_put_sync(dsi->dev);
>  }

No, this does not simplify the code. Stop using coccinelle.

BR,
Krzysztof


More information about the dri-devel mailing list