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

From: Krzysztof Kozlowski
Date: Tue Oct 24 2017 - 04:51:19 EST


On Tue, Oct 24, 2017 at 10:49 AM, SF Markus Elfring
<elfring@xxxxxxxxxxxxxxxxxxxxx> wrote:
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> 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@xxxxxxxxxxxxxxxxxxxxx>
> ---
> 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