media: staging: media: imx: imx7-media-csi: Initialize locks early on
Group all the direct initialization of imx7_csi fields at the beginning of the imx7_csi_probe() function instead of spreading them around. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Rui Miguel Silva <rmfrfs@gmail.com> Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
b73560c81f
commit
34d868e862
@ -1188,27 +1188,32 @@ static int imx7_csi_probe(struct platform_device *pdev)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
csi->dev = dev;
|
csi->dev = dev;
|
||||||
|
platform_set_drvdata(pdev, &csi->sd);
|
||||||
|
|
||||||
|
spin_lock_init(&csi->irqlock);
|
||||||
|
mutex_init(&csi->lock);
|
||||||
|
|
||||||
csi->mclk = devm_clk_get(&pdev->dev, "mclk");
|
csi->mclk = devm_clk_get(&pdev->dev, "mclk");
|
||||||
if (IS_ERR(csi->mclk)) {
|
if (IS_ERR(csi->mclk)) {
|
||||||
ret = PTR_ERR(csi->mclk);
|
ret = PTR_ERR(csi->mclk);
|
||||||
dev_err(dev, "Failed to get mclk: %d", ret);
|
dev_err(dev, "Failed to get mclk: %d", ret);
|
||||||
return ret;
|
goto destroy_mutex;
|
||||||
}
|
}
|
||||||
|
|
||||||
csi->irq = platform_get_irq(pdev, 0);
|
csi->irq = platform_get_irq(pdev, 0);
|
||||||
if (csi->irq < 0)
|
if (csi->irq < 0) {
|
||||||
return csi->irq;
|
ret = csi->irq;
|
||||||
|
goto destroy_mutex;
|
||||||
|
}
|
||||||
|
|
||||||
csi->regbase = devm_platform_ioremap_resource(pdev, 0);
|
csi->regbase = devm_platform_ioremap_resource(pdev, 0);
|
||||||
if (IS_ERR(csi->regbase))
|
if (IS_ERR(csi->regbase)) {
|
||||||
return PTR_ERR(csi->regbase);
|
ret = PTR_ERR(csi->regbase);
|
||||||
|
goto destroy_mutex;
|
||||||
|
}
|
||||||
|
|
||||||
csi->model = (enum imx_csi_model)(uintptr_t)of_device_get_match_data(&pdev->dev);
|
csi->model = (enum imx_csi_model)(uintptr_t)of_device_get_match_data(&pdev->dev);
|
||||||
|
|
||||||
spin_lock_init(&csi->irqlock);
|
|
||||||
mutex_init(&csi->lock);
|
|
||||||
|
|
||||||
/* install interrupt handler */
|
/* install interrupt handler */
|
||||||
ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
|
ret = devm_request_irq(dev, csi->irq, imx7_csi_irq_handler, 0, "csi",
|
||||||
(void *)csi);
|
(void *)csi);
|
||||||
@ -1223,7 +1228,6 @@ static int imx7_csi_probe(struct platform_device *pdev)
|
|||||||
ret = PTR_ERR(imxmd);
|
ret = PTR_ERR(imxmd);
|
||||||
goto destroy_mutex;
|
goto destroy_mutex;
|
||||||
}
|
}
|
||||||
platform_set_drvdata(pdev, &csi->sd);
|
|
||||||
|
|
||||||
ret = imx_media_of_add_csi(imxmd, node);
|
ret = imx_media_of_add_csi(imxmd, node);
|
||||||
if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
|
if (ret < 0 && ret != -ENODEV && ret != -EEXIST)
|
||||||
|
Reference in New Issue
Block a user