@@ -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);
@@ -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];
};
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> --- drivers/media/platform/rcar-vin/rcar-core.c | 8 ++++---- drivers/media/platform/rcar-vin/rcar-vin.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-)