linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes
@ 2025-09-03  0:22 Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 1/5] media: qcom: camss: remove .link_entities callback Vladimir Zapolskiy
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

The patchset noticeably simplifies common registration routines of CAMSS
ISP device driver.

Link to v1:
- https://lore.kernel.org/all/20250513142353.2572563-1-vladimir.zapolskiy@linaro.org/

Changes from v1 to v2:
* added a gained Reviewed-by tag to patch 1/4 (Bryan),
* reworded commit message of patch 2/4 (Bryan),
* explained better a removal of port node availability check (Bryan, Neil),
* cosmetic and non-function clean-ups of lesser significance,
* removed already applied changes and rebased the rest on top of v6.17-rc2.

There is no any functional changes between v1 and v2 of the series.

Vladimir Zapolskiy (5):
  media: qcom: camss: remove .link_entities callback
  media: qcom: camss: unconditionally set async notifier of subdevices
  media: qcom: camss: remove a check for unavailable CAMSS endpoint
  media: qcom: camss: change internals of endpoint parsing to fwnode handling
  media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function

 drivers/media/platform/qcom/camss/camss.c | 99 +++++++----------------
 drivers/media/platform/qcom/camss/camss.h |  1 -
 2 files changed, 29 insertions(+), 71 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/5] media: qcom: camss: remove .link_entities callback
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
@ 2025-09-03  0:22 ` Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 2/5] media: qcom: camss: unconditionally set async notifier of subdevices Vladimir Zapolskiy
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

There is no potential for a custom .link_entities callback, remove it
by replacing with a common camss_link_entities().

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/media/platform/qcom/camss/camss.c | 14 +-------------
 drivers/media/platform/qcom/camss/camss.h |  1 -
 2 files changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index e08e70b93824..aa0f6e2e3d28 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -3143,7 +3143,6 @@ static int camss_init_subdevices(struct camss *camss)
 }
 
 /*
- * camss_link_entities - Register subdev nodes and create links
  * camss_link_err - print error in case link creation fails
  * @src_name: name for source of the link
  * @sink_name: name for sink of the link
@@ -3638,7 +3637,7 @@ static int camss_probe(struct platform_device *pdev)
 	if (ret < 0)
 		goto err_v4l2_device_unregister;
 
-	ret = camss->res->link_entities(camss);
+	ret = camss_link_entities(camss);
 	if (ret < 0)
 		goto err_register_subdevs;
 
@@ -3723,7 +3722,6 @@ static const struct camss_resources msm8916_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_8x16),
 	.csid_num = ARRAY_SIZE(csid_res_8x16),
 	.vfe_num = ARRAY_SIZE(vfe_res_8x16),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources msm8953_resources = {
@@ -3737,7 +3735,6 @@ static const struct camss_resources msm8953_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_8x96),
 	.csid_num = ARRAY_SIZE(csid_res_8x53),
 	.vfe_num = ARRAY_SIZE(vfe_res_8x53),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources msm8996_resources = {
@@ -3749,7 +3746,6 @@ static const struct camss_resources msm8996_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_8x96),
 	.csid_num = ARRAY_SIZE(csid_res_8x96),
 	.vfe_num = ARRAY_SIZE(vfe_res_8x96),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sdm660_resources = {
@@ -3761,7 +3757,6 @@ static const struct camss_resources sdm660_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_660),
 	.csid_num = ARRAY_SIZE(csid_res_660),
 	.vfe_num = ARRAY_SIZE(vfe_res_660),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sdm670_resources = {
@@ -3772,7 +3767,6 @@ static const struct camss_resources sdm670_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_670),
 	.csid_num = ARRAY_SIZE(csid_res_670),
 	.vfe_num = ARRAY_SIZE(vfe_res_670),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sdm845_resources = {
@@ -3784,7 +3778,6 @@ static const struct camss_resources sdm845_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_845),
 	.csid_num = ARRAY_SIZE(csid_res_845),
 	.vfe_num = ARRAY_SIZE(vfe_res_845),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sm8250_resources = {
@@ -3798,7 +3791,6 @@ static const struct camss_resources sm8250_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_8250),
 	.csid_num = ARRAY_SIZE(csid_res_8250),
 	.vfe_num = ARRAY_SIZE(vfe_res_8250),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sc8280xp_resources = {
@@ -3813,7 +3805,6 @@ static const struct camss_resources sc8280xp_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_sc8280xp),
 	.csid_num = ARRAY_SIZE(csid_res_sc8280xp),
 	.vfe_num = ARRAY_SIZE(vfe_res_sc8280xp),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sc7280_resources = {
@@ -3827,7 +3818,6 @@ static const struct camss_resources sc7280_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_7280),
 	.csid_num = ARRAY_SIZE(csid_res_7280),
 	.vfe_num = ARRAY_SIZE(vfe_res_7280),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources sm8550_resources = {
@@ -3842,7 +3832,6 @@ static const struct camss_resources sm8550_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_8550),
 	.csid_num = ARRAY_SIZE(csid_res_8550),
 	.vfe_num = ARRAY_SIZE(vfe_res_8550),
-	.link_entities = camss_link_entities
 };
 
 static const struct camss_resources x1e80100_resources = {
@@ -3857,7 +3846,6 @@ static const struct camss_resources x1e80100_resources = {
 	.csiphy_num = ARRAY_SIZE(csiphy_res_x1e80100),
 	.csid_num = ARRAY_SIZE(csid_res_x1e80100),
 	.vfe_num = ARRAY_SIZE(vfe_res_x1e80100),
-	.link_entities = camss_link_entities
 };
 
 static const struct of_device_id camss_dt_match[] = {
diff --git a/drivers/media/platform/qcom/camss/camss.h b/drivers/media/platform/qcom/camss/camss.h
index 63c0afee154a..1d0f83e4a2c9 100644
--- a/drivers/media/platform/qcom/camss/camss.h
+++ b/drivers/media/platform/qcom/camss/camss.h
@@ -107,7 +107,6 @@ struct camss_resources {
 	const unsigned int csiphy_num;
 	const unsigned int csid_num;
 	const unsigned int vfe_num;
-	int (*link_entities)(struct camss *camss);
 };
 
 struct camss {
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/5] media: qcom: camss: unconditionally set async notifier of subdevices
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 1/5] media: qcom: camss: remove .link_entities callback Vladimir Zapolskiy
@ 2025-09-03  0:22 ` Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 3/5] media: qcom: camss: remove a check for unavailable CAMSS endpoint Vladimir Zapolskiy
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

For sake of simplicity it makes sense to register all CAMSS subdevices
from its async notifier, this will cover all possible use cases, even
if there is no connected sensors to the CAMSS ISP.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/media/platform/qcom/camss/camss.c | 30 ++++++-----------------
 1 file changed, 8 insertions(+), 22 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index aa0f6e2e3d28..898d90410551 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -3556,7 +3556,6 @@ static int camss_probe(struct platform_device *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct camss *camss;
-	int num_subdevs;
 	int ret;
 
 	camss = devm_kzalloc(dev, sizeof(*camss), GFP_KERNEL);
@@ -3627,11 +3626,9 @@ static int camss_probe(struct platform_device *pdev)
 
 	pm_runtime_enable(dev);
 
-	num_subdevs = camss_of_parse_ports(camss);
-	if (num_subdevs < 0) {
-		ret = num_subdevs;
+	ret = camss_of_parse_ports(camss);
+	if (ret < 0)
 		goto err_v4l2_device_unregister;
-	}
 
 	ret = camss_register_entities(camss);
 	if (ret < 0)
@@ -3647,23 +3644,12 @@ static int camss_probe(struct platform_device *pdev)
 		goto err_register_subdevs;
 	}
 
-	if (num_subdevs) {
-		camss->notifier.ops = &camss_subdev_notifier_ops;
-
-		ret = v4l2_async_nf_register(&camss->notifier);
-		if (ret) {
-			dev_err(dev,
-				"Failed to register async subdev nodes: %d\n",
-				ret);
-			goto err_media_device_unregister;
-		}
-	} else {
-		ret = v4l2_device_register_subdev_nodes(&camss->v4l2_dev);
-		if (ret < 0) {
-			dev_err(dev, "Failed to register subdev nodes: %d\n",
-				ret);
-			goto err_media_device_unregister;
-		}
+	camss->notifier.ops = &camss_subdev_notifier_ops;
+	ret = v4l2_async_nf_register(&camss->notifier);
+	if (ret) {
+		dev_err(dev,
+			"Failed to register async subdev nodes: %d\n", ret);
+		goto err_media_device_unregister;
 	}
 
 	return 0;
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/5] media: qcom: camss: remove a check for unavailable CAMSS endpoint
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 1/5] media: qcom: camss: remove .link_entities callback Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 2/5] media: qcom: camss: unconditionally set async notifier of subdevices Vladimir Zapolskiy
@ 2025-09-03  0:22 ` Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 4/5] media: qcom: camss: change internals of endpoint parsing to fwnode handling Vladimir Zapolskiy
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

Media endpoints are not devices, and there is no valid or sane usecase,
when an endpoint on the ISP side is an unavailable device.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/media/platform/qcom/camss/camss.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 898d90410551..42f392f6f3a8 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -3041,9 +3041,6 @@ static int camss_of_parse_ports(struct camss *camss)
 	for_each_endpoint_of_node(dev->of_node, node) {
 		struct camss_async_subdev *csd;
 
-		if (!of_device_is_available(node))
-			continue;
-
 		remote = of_graph_get_remote_port_parent(node);
 		if (!remote) {
 			dev_err(dev, "Cannot get remote parent\n");
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 4/5] media: qcom: camss: change internals of endpoint parsing to fwnode handling
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
                   ` (2 preceding siblings ...)
  2025-09-03  0:22 ` [PATCH v2 3/5] media: qcom: camss: remove a check for unavailable CAMSS endpoint Vladimir Zapolskiy
@ 2025-09-03  0:22 ` Vladimir Zapolskiy
  2025-09-03  0:22 ` [PATCH v2 5/5] media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function Vladimir Zapolskiy
  2025-09-03 14:25 ` [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Loic Poulain
  5 siblings, 0 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

Since a few called V4L2 functions operate with fwnode arguments the change
from OF device nodes to fwnodes brings a simplification to the code.

The camss_parse_endpoint_node() function is called once by camss_probe(),
and there is no use of knowing a number of asynchronously registered
remote devices, so it makes sense to remove the related computation from
the function.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/media/platform/qcom/camss/camss.c | 49 +++++++++++------------
 1 file changed, 23 insertions(+), 26 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index 42f392f6f3a8..be1c62d27e2b 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -2973,16 +2973,16 @@ static const struct parent_dev_ops vfe_parent_dev_ops = {
 };
 
 /*
- * camss_of_parse_endpoint_node - Parse port endpoint node
- * @dev: Device
- * @node: Device node to be parsed
+ * camss_parse_endpoint_node - Parse port endpoint node
+ * @dev: CAMSS device
+ * @ep: Device endpoint to be parsed
  * @csd: Parsed data from port endpoint node
  *
  * Return 0 on success or a negative error code on failure
  */
-static int camss_of_parse_endpoint_node(struct device *dev,
-					struct device_node *node,
-					struct camss_async_subdev *csd)
+static int camss_parse_endpoint_node(struct device *dev,
+				     struct fwnode_handle *ep,
+				     struct camss_async_subdev *csd)
 {
 	struct csiphy_lanes_cfg *lncfg = &csd->interface.csi2.lane_cfg;
 	struct v4l2_mbus_config_mipi_csi2 *mipi_csi2;
@@ -2990,7 +2990,7 @@ static int camss_of_parse_endpoint_node(struct device *dev,
 	unsigned int i;
 	int ret;
 
-	ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(node), &vep);
+	ret = v4l2_fwnode_endpoint_parse(ep, &vep);
 	if (ret)
 		return ret;
 
@@ -3025,49 +3025,46 @@ static int camss_of_parse_endpoint_node(struct device *dev,
 }
 
 /*
- * camss_of_parse_ports - Parse ports node
- * @dev: Device
- * @notifier: v4l2_device notifier data
+ * camss_parse_ports - Parse ports node
+ * @dev: CAMSS device
  *
- * Return number of "port" nodes found in "ports" node
+ * Return 0 on success or a negative error code on failure
  */
-static int camss_of_parse_ports(struct camss *camss)
+static int camss_parse_ports(struct camss *camss)
 {
 	struct device *dev = camss->dev;
-	struct device_node *node = NULL;
-	struct device_node *remote = NULL;
-	int ret, num_subdevs = 0;
+	struct fwnode_handle *fwnode = dev_fwnode(dev), *ep;
+	int ret;
 
-	for_each_endpoint_of_node(dev->of_node, node) {
+	fwnode_graph_for_each_endpoint(fwnode, ep) {
 		struct camss_async_subdev *csd;
+		struct fwnode_handle *remote;
 
-		remote = of_graph_get_remote_port_parent(node);
+		remote = fwnode_graph_get_remote_port_parent(ep);
 		if (!remote) {
 			dev_err(dev, "Cannot get remote parent\n");
 			ret = -EINVAL;
 			goto err_cleanup;
 		}
 
-		csd = v4l2_async_nf_add_fwnode(&camss->notifier,
-					       of_fwnode_handle(remote),
+		csd = v4l2_async_nf_add_fwnode(&camss->notifier, remote,
 					       struct camss_async_subdev);
-		of_node_put(remote);
+		fwnode_handle_put(remote);
 		if (IS_ERR(csd)) {
 			ret = PTR_ERR(csd);
 			goto err_cleanup;
 		}
 
-		ret = camss_of_parse_endpoint_node(dev, node, csd);
+		ret = camss_parse_endpoint_node(dev, ep, csd);
 		if (ret < 0)
 			goto err_cleanup;
-
-		num_subdevs++;
 	}
 
-	return num_subdevs;
+	return 0;
 
 err_cleanup:
-	of_node_put(node);
+	fwnode_handle_put(ep);
+
 	return ret;
 }
 
@@ -3623,7 +3620,7 @@ static int camss_probe(struct platform_device *pdev)
 
 	pm_runtime_enable(dev);
 
-	ret = camss_of_parse_ports(camss);
+	ret = camss_parse_ports(camss);
 	if (ret < 0)
 		goto err_v4l2_device_unregister;
 
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 5/5] media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
                   ` (3 preceding siblings ...)
  2025-09-03  0:22 ` [PATCH v2 4/5] media: qcom: camss: change internals of endpoint parsing to fwnode handling Vladimir Zapolskiy
@ 2025-09-03  0:22 ` Vladimir Zapolskiy
  2025-09-03 14:25 ` [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Loic Poulain
  5 siblings, 0 replies; 7+ messages in thread
From: Vladimir Zapolskiy @ 2025-09-03  0:22 UTC (permalink / raw)
  To: Robert Foss, Todor Tomov, Bryan O'Donoghue
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Loic Poulain, Neil Armstrong,
	linux-media, linux-arm-msm

Another code simplification makes parsing of remote endpoints easy.

Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
---
 drivers/media/platform/qcom/camss/camss.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/media/platform/qcom/camss/camss.c b/drivers/media/platform/qcom/camss/camss.c
index be1c62d27e2b..4909dbdef1ea 100644
--- a/drivers/media/platform/qcom/camss/camss.c
+++ b/drivers/media/platform/qcom/camss/camss.c
@@ -3038,18 +3038,9 @@ static int camss_parse_ports(struct camss *camss)
 
 	fwnode_graph_for_each_endpoint(fwnode, ep) {
 		struct camss_async_subdev *csd;
-		struct fwnode_handle *remote;
 
-		remote = fwnode_graph_get_remote_port_parent(ep);
-		if (!remote) {
-			dev_err(dev, "Cannot get remote parent\n");
-			ret = -EINVAL;
-			goto err_cleanup;
-		}
-
-		csd = v4l2_async_nf_add_fwnode(&camss->notifier, remote,
-					       struct camss_async_subdev);
-		fwnode_handle_put(remote);
+		csd = v4l2_async_nf_add_fwnode_remote(&camss->notifier, ep,
+						      typeof(*csd));
 		if (IS_ERR(csd)) {
 			ret = PTR_ERR(csd);
 			goto err_cleanup;
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes
  2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
                   ` (4 preceding siblings ...)
  2025-09-03  0:22 ` [PATCH v2 5/5] media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function Vladimir Zapolskiy
@ 2025-09-03 14:25 ` Loic Poulain
  5 siblings, 0 replies; 7+ messages in thread
From: Loic Poulain @ 2025-09-03 14:25 UTC (permalink / raw)
  To: Vladimir Zapolskiy
  Cc: Robert Foss, Todor Tomov, Bryan O'Donoghue,
	Mauro Carvalho Chehab, Hans Verkuil, Neil Armstrong, linux-media,
	linux-arm-msm

On Wed, Sep 3, 2025 at 2:23 AM Vladimir Zapolskiy
<vladimir.zapolskiy@linaro.org> wrote:
>
> The patchset noticeably simplifies common registration routines of CAMSS
> ISP device driver.
>
> Link to v1:
> - https://lore.kernel.org/all/20250513142353.2572563-1-vladimir.zapolskiy@linaro.org/
>
> Changes from v1 to v2:
> * added a gained Reviewed-by tag to patch 1/4 (Bryan),
> * reworded commit message of patch 2/4 (Bryan),
> * explained better a removal of port node availability check (Bryan, Neil),
> * cosmetic and non-function clean-ups of lesser significance,
> * removed already applied changes and rebased the rest on top of v6.17-rc2.
>
> There is no any functional changes between v1 and v2 of the series.
>
> Vladimir Zapolskiy (5):
>   media: qcom: camss: remove .link_entities callback
>   media: qcom: camss: unconditionally set async notifier of subdevices
>   media: qcom: camss: remove a check for unavailable CAMSS endpoint
>   media: qcom: camss: change internals of endpoint parsing to fwnode handling
>   media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function
>
>  drivers/media/platform/qcom/camss/camss.c | 99 +++++++----------------
>  drivers/media/platform/qcom/camss/camss.h |  1 -
>  2 files changed, 29 insertions(+), 71 deletions(-)
>
> --
> 2.49.0
>

I rebased and tested the series on RB1/qcm2290, Looks good.

Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-09-03 14:25 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-03  0:22 [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Vladimir Zapolskiy
2025-09-03  0:22 ` [PATCH v2 1/5] media: qcom: camss: remove .link_entities callback Vladimir Zapolskiy
2025-09-03  0:22 ` [PATCH v2 2/5] media: qcom: camss: unconditionally set async notifier of subdevices Vladimir Zapolskiy
2025-09-03  0:22 ` [PATCH v2 3/5] media: qcom: camss: remove a check for unavailable CAMSS endpoint Vladimir Zapolskiy
2025-09-03  0:22 ` [PATCH v2 4/5] media: qcom: camss: change internals of endpoint parsing to fwnode handling Vladimir Zapolskiy
2025-09-03  0:22 ` [PATCH v2 5/5] media: qcom: camss: use a handy v4l2_async_nf_add_fwnode_remote() function Vladimir Zapolskiy
2025-09-03 14:25 ` [PATCH v2 0/5] media: qcom: camss: a number of cleanups and fixes Loic Poulain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).