media: xilinx-vipp: Clean up bound async notifier callback
authorSakari Ailus <sakari.ailus@linux.intel.com>
Tue, 18 Apr 2023 11:07:28 +0000 (13:07 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 28 Jul 2023 08:35:14 +0000 (10:35 +0200)
The async notifier bound callback does a lot of checks that have probably
been always unnecessary. Remove the lookup of the async subev that we
already have, as well as the debug print that is already printed by the
framework.

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
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
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>
drivers/media/platform/xilinx/xilinx-vipp.c

index 3123216..b309af0 100644 (file)
@@ -312,36 +312,14 @@ static int xvip_graph_notify_complete(struct v4l2_async_notifier *notifier)
 
 static int xvip_graph_notify_bound(struct v4l2_async_notifier *notifier,
                                   struct v4l2_subdev *subdev,
-                                  struct v4l2_async_subdev *unused)
+                                  struct v4l2_async_subdev *asd)
 {
-       struct xvip_composite_device *xdev =
-               container_of(notifier, struct xvip_composite_device, notifier);
-       struct xvip_graph_entity *entity;
-       struct v4l2_async_subdev *asd;
+       struct xvip_graph_entity *entity = to_xvip_entity(asd);
 
-       /* Locate the entity corresponding to the bound subdev and store the
-        * subdev pointer.
-        */
-       list_for_each_entry(asd, &xdev->notifier.asd_list, asd_list) {
-               entity = to_xvip_entity(asd);
+       entity->entity = &subdev->entity;
+       entity->subdev = subdev;
 
-               if (entity->asd.match.fwnode != subdev->fwnode)
-                       continue;
-
-               if (entity->subdev) {
-                       dev_err(xdev->dev, "duplicate subdev for node %p\n",
-                               entity->asd.match.fwnode);
-                       return -EINVAL;
-               }
-
-               dev_dbg(xdev->dev, "subdev %s bound\n", subdev->name);
-               entity->entity = &subdev->entity;
-               entity->subdev = subdev;
-               return 0;
-       }
-
-       dev_err(xdev->dev, "no entity for subdev %s\n", subdev->name);
-       return -EINVAL;
+       return 0;
 }
 
 static const struct v4l2_async_notifier_operations xvip_graph_notify_ops = {