media: rcar-vin: Use v4l2_async_subdev instead of fwnode_handle to match subdevices
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Wed, 25 Nov 2020 16:44:48 +0000 (17:44 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 2 Dec 2020 15:12:14 +0000 (16:12 +0100)
In preparation of removing the usage of the old helper
v4l2_async_notifier_parse_fwnode_endpoints_by_port() use the
v4l2_async_subdev instead of fwnode_handle to match subdevices.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/rcar-vin/rcar-core.c
drivers/media/platform/rcar-vin/rcar-vin.h

index 396ff55..830ab08 100644 (file)
@@ -772,7 +772,7 @@ static void rvin_group_notify_unbind(struct v4l2_async_notifier *notifier,
        mutex_lock(&vin->group->lock);
 
        for (i = 0; i < RVIN_CSI_MAX; i++) {
-               if (vin->group->csi[i].fwnode != asd->match.fwnode)
+               if (vin->group->csi[i].asd != asd)
                        continue;
                vin->group->csi[i].subdev = NULL;
                vin_dbg(vin, "Unbind CSI-2 %s from slot %u\n", subdev->name, i);
@@ -794,7 +794,7 @@ static int rvin_group_notify_bound(struct v4l2_async_notifier *notifier,
        mutex_lock(&vin->group->lock);
 
        for (i = 0; i < RVIN_CSI_MAX; i++) {
-               if (vin->group->csi[i].fwnode != asd->match.fwnode)
+               if (vin->group->csi[i].asd != asd)
                        continue;
                vin->group->csi[i].subdev = subdev;
                vin_dbg(vin, "Bound CSI-2 %s to slot %u\n", subdev->name, i);
@@ -830,14 +830,14 @@ static int rvin_mc_parse_of_endpoint(struct device *dev,
 
        mutex_lock(&vin->group->lock);
 
-       if (vin->group->csi[vep->base.id].fwnode) {
+       if (vin->group->csi[vep->base.id].asd) {
                vin_dbg(vin, "OF device %pOF already handled\n",
                        to_of_node(asd->match.fwnode));
                ret = -ENOTCONN;
                goto out;
        }
 
-       vin->group->csi[vep->base.id].fwnode = asd->match.fwnode;
+       vin->group->csi[vep->base.id].asd = asd;
 
        vin_dbg(vin, "Add group OF device %pOF to slot %u\n",
                to_of_node(asd->match.fwnode), vep->base.id);
index 34e3979..0ee9d40 100644 (file)
@@ -280,7 +280,7 @@ struct rvin_group {
        struct rvin_dev *vin[RCAR_VIN_NUM];
 
        struct {
-               struct fwnode_handle *fwnode;
+               struct v4l2_async_subdev *asd;
                struct v4l2_subdev *subdev;
        } csi[RVIN_CSI_MAX];
 };