mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 22:14:36 -04:00
media: qcom: Initialise V4L2 async notifier later
Initialise V4L2 async notifier and parse DT for async sub-devices later, just before registering the notifier. This way the device can be made available to the V4L2 async framework from the notifier init time onwards. A subsequent patch will add struct v4l2_device as an argument to v4l2_async_nf_init(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> # imx6qp Tested-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> # rcar + adv746x Tested-by: Aishwarya Kothari <aishwarya.kothari@toradex.com> # Apalis i.MX6Q with TC358743 Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> # Renesas RZ/G2L SMARC Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
2c62a9b8e4
commit
5651bab689
@@ -1615,14 +1615,6 @@ static int camss_probe(struct platform_device *pdev)
|
||||
if (!camss->vfe)
|
||||
return -ENOMEM;
|
||||
|
||||
v4l2_async_nf_init(&camss->notifier);
|
||||
|
||||
num_subdevs = camss_of_parse_ports(camss);
|
||||
if (num_subdevs < 0) {
|
||||
ret = num_subdevs;
|
||||
goto err_cleanup;
|
||||
}
|
||||
|
||||
ret = camss_icc_get(camss);
|
||||
if (ret < 0)
|
||||
goto err_cleanup;
|
||||
@@ -1648,9 +1640,17 @@ static int camss_probe(struct platform_device *pdev)
|
||||
goto err_cleanup;
|
||||
}
|
||||
|
||||
v4l2_async_nf_init(&camss->notifier);
|
||||
|
||||
num_subdevs = camss_of_parse_ports(camss);
|
||||
if (num_subdevs < 0) {
|
||||
ret = num_subdevs;
|
||||
goto err_cleanup;
|
||||
}
|
||||
|
||||
ret = camss_register_entities(camss);
|
||||
if (ret < 0)
|
||||
goto err_register_entities;
|
||||
goto err_cleanup;
|
||||
|
||||
if (num_subdevs) {
|
||||
camss->notifier.ops = &camss_subdev_notifier_ops;
|
||||
@@ -1691,9 +1691,8 @@ static int camss_probe(struct platform_device *pdev)
|
||||
|
||||
err_register_subdevs:
|
||||
camss_unregister_entities(camss);
|
||||
err_register_entities:
|
||||
v4l2_device_unregister(&camss->v4l2_dev);
|
||||
err_cleanup:
|
||||
v4l2_device_unregister(&camss->v4l2_dev);
|
||||
v4l2_async_nf_cleanup(&camss->notifier);
|
||||
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user