Commit 95778c2d authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab

media: video-mux: Skip dangling endpoints

i.MX6 device tree include files contain dangling endpoints for the
board device tree writers' convenience. These are still included in
many existing device trees.
Treat dangling endpoints as non-existent to support them.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 612b385e ("media: video-mux: Create media links in bound notifier")
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 50e7a31d
...@@ -364,7 +364,7 @@ static int video_mux_async_register(struct video_mux *vmux, ...@@ -364,7 +364,7 @@ static int video_mux_async_register(struct video_mux *vmux,
for (i = 0; i < num_input_pads; i++) { for (i = 0; i < num_input_pads; i++) {
struct v4l2_async_subdev *asd; struct v4l2_async_subdev *asd;
struct fwnode_handle *ep; struct fwnode_handle *ep, *remote_ep;
ep = fwnode_graph_get_endpoint_by_id( ep = fwnode_graph_get_endpoint_by_id(
dev_fwnode(vmux->subdev.dev), i, 0, dev_fwnode(vmux->subdev.dev), i, 0,
...@@ -372,6 +372,14 @@ static int video_mux_async_register(struct video_mux *vmux, ...@@ -372,6 +372,14 @@ static int video_mux_async_register(struct video_mux *vmux,
if (!ep) if (!ep)
continue; continue;
/* Skip dangling endpoints for backwards compatibility */
remote_ep = fwnode_graph_get_remote_endpoint(ep);
if (!remote_ep) {
fwnode_handle_put(ep);
continue;
}
fwnode_handle_put(remote_ep);
asd = v4l2_async_notifier_add_fwnode_remote_subdev( asd = v4l2_async_notifier_add_fwnode_remote_subdev(
&vmux->notifier, ep, struct v4l2_async_subdev); &vmux->notifier, ep, struct v4l2_async_subdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment