mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 17:41:22 +00:00
media: imx-mipi-csis: Don't take lock in runtime PM handlers
The runtime PM handlers don't need manual locking as - they are serialized by the runtime PM core - they can't race with other functions taking the same lock, as they don't access any data protect by that lock Drop the locking. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Tested-by: Adam Ford <aford173@gmail.com> #imx8mn-beacon Acked-by: Rui Miguel Silva <rmfrfs@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
a42b43f7b6
commit
b6a736e79e
@ -1348,40 +1348,34 @@ static int __maybe_unused mipi_csis_runtime_suspend(struct device *dev)
|
||||
{
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct mipi_csis_device *csis = sd_to_mipi_csis_device(sd);
|
||||
int ret = 0;
|
||||
|
||||
mutex_lock(&csis->lock);
|
||||
int ret;
|
||||
|
||||
ret = mipi_csis_phy_disable(csis);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
return -EAGAIN;
|
||||
|
||||
mipi_csis_clk_disable(csis);
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&csis->lock);
|
||||
|
||||
return ret ? -EAGAIN : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __maybe_unused mipi_csis_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct v4l2_subdev *sd = dev_get_drvdata(dev);
|
||||
struct mipi_csis_device *csis = sd_to_mipi_csis_device(sd);
|
||||
int ret = 0;
|
||||
|
||||
mutex_lock(&csis->lock);
|
||||
int ret;
|
||||
|
||||
ret = mipi_csis_phy_enable(csis);
|
||||
if (ret)
|
||||
goto unlock;
|
||||
return -EAGAIN;
|
||||
|
||||
mipi_csis_clk_enable(csis);
|
||||
ret = mipi_csis_clk_enable(csis);
|
||||
if (ret) {
|
||||
mipi_csis_phy_disable(csis);
|
||||
return ret;
|
||||
}
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&csis->lock);
|
||||
|
||||
return ret ? -EAGAIN : 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops mipi_csis_pm_ops = {
|
||||
|
Loading…
Reference in New Issue
Block a user