Re: [PATCH v2] media: exynos4-is: Add missed check for pinctrl_lookup_state()

From: Sylwester Nawrocki
Date: Mon Aug 10 2020 - 05:31:35 EST


Hi,

On 28.05.2020 08:41, Chuhong Yuan wrote:
> fimc_md_get_pinctrl() misses a check for pinctrl_lookup_state().
> Add the missed check to fix it.
>
> Fixes: 4163851f7b99 ("[media] s5p-fimc: Use pinctrl API for camera ports configuration]")
> Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
> ---
> Changes in v2:
> - Add fixes tag.
>
> drivers/media/platform/exynos4-is/media-dev.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c
> index 9aaf3b8060d5..9c31d950cddf 100644
> --- a/drivers/media/platform/exynos4-is/media-dev.c
> +++ b/drivers/media/platform/exynos4-is/media-dev.c
> @@ -1270,6 +1270,9 @@ static int fimc_md_get_pinctrl(struct fimc_md *fmd)
>
> pctl->state_idle = pinctrl_lookup_state(pctl->pinctrl,
> PINCTRL_STATE_IDLE);
> + if (IS_ERR(pctl->state_idle))
> + return PTR_ERR(pctl->state_idle);

Unfortunately this is not correct, with that change the driver currently
fails to initialize. The "idle" pinctrl state is optional and might not
be specified in DT, as explained in the DT binding documentation added
by the patch you mentioned in the "Fixes" tag.
Actually the "idle" state is now not used in any mainline dts, I will
post a patch that removes related code in the driver.

--
Thanks,
Sylwester