Re: [PATCH v6 12/13] media: i2c: imx214: Fix clock handling on probe error or remove
From: Sakari Ailus
Date: Wed Jan 08 2025 - 06:53:08 EST
Hi André,
Thanks for the update.
On Fri, Dec 20, 2024 at 02:26:11PM +0100, André Apitzsch via B4 Relay wrote:
> From: André Apitzsch <git@xxxxxxxxxxx>
>
> The driver should disable or unprepare the clock on probe error and on
> removing the module.
>
> Remove regulator_bulk_disable(), because it is called by
> imx214_power_off().
>
> Acked-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> Signed-off-by: André Apitzsch <git@xxxxxxxxxxx>
This and the next one appear to be bugfixes. I think it'd be reasonable to
backport them. Any idea where this got broken, for the Fixes: tag? The bug
fixed by the last patch was probably introduced with the driver?
> ---
> drivers/media/i2c/imx214.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/i2c/imx214.c b/drivers/media/i2c/imx214.c
> index 96d05acfeb66480770bb6291027dd023fdccb649..e8d35f8b0f8b57d64f03ff6f5ed9eac51a671e8e 100644
> --- a/drivers/media/i2c/imx214.c
> +++ b/drivers/media/i2c/imx214.c
> @@ -1340,7 +1340,7 @@ static int imx214_probe(struct i2c_client *client)
> v4l2_ctrl_handler_free(&imx214->ctrls);
> error_power_off:
> pm_runtime_disable(imx214->dev);
> - regulator_bulk_disable(IMX214_NUM_SUPPLIES, imx214->supplies);
> + imx214_power_off(dev);
>
> return ret;
> }
> @@ -1356,6 +1356,8 @@ static void imx214_remove(struct i2c_client *client)
> v4l2_ctrl_handler_free(&imx214->ctrls);
>
> pm_runtime_disable(&client->dev);
> + if (!pm_runtime_status_suspended(&client->dev))
> + imx214_power_off(&client->dev);
> pm_runtime_set_suspended(&client->dev);
> }
>
>
--
Regards,
Sakari Ailus