Re: [PATCH] media: omap3isp: add checks for devm_regulator_get

From: Laurent Pinchart
Date: Thu Dec 12 2019 - 18:42:30 EST


Hi Chuhong,

(CC'ing Sakari Ailus)

Thank you for the patch.

On Tue, Dec 10, 2019 at 05:14:28PM +0800, Chuhong Yuan wrote:
> The driver misses checks for devm_regulator_get().
> Add checks to fix it.
>
> Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx>
> ---
> drivers/media/platform/omap3isp/isp.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c
> index 327c5716922a..ef3502182c3a 100644
> --- a/drivers/media/platform/omap3isp/isp.c
> +++ b/drivers/media/platform/omap3isp/isp.c
> @@ -2312,7 +2312,16 @@ static int isp_probe(struct platform_device *pdev)
>
> /* Regulators */
> isp->isp_csiphy1.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy1");
> + if (IS_ERR(isp->isp_csiphy1.vdd)) {
> + ret = PTR_ERR(isp->isp_csiphy1.vdd);
> + goto error;
> + }
> +
> isp->isp_csiphy2.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy2");
> + if (IS_ERR(isp->isp_csiphy2.vdd)) {
> + ret = PTR_ERR(isp->isp_csiphy2.vdd);
> + goto error;
> + }

Those regulators are currently checked at runtime in
omap3isp_csiphy_acquire(). The check is incorrect as it checks for NULL
while vdd would contain an ERR_PTR, so there's a real issue. However,
not all platforms support the CSI-2 receivers, and only omap3-n950.dts
and omap3-n9.dts provide the regulators. They thus need to be kept
optional.

Would you like to provide another patch that fixes the checks in
omap3isp_csiphy_acquire() ?

>
> /* Clocks
> *

--
Regards,

Laurent Pinchart