media: video-mux: Skip dangling endpoints

[ Upstream commit 95778c2d0979618e3349b1d2324ec282a5a6adbf ]

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: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: 612b385efb ("media: video-mux: Create media links in bound notifier")
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Philipp Zabel
2021-03-22 15:44:08 +01:00
committed by Greg Kroah-Hartman
parent 62c666805a
commit a61f8a2e45

View File

@@ -362,7 +362,7 @@ static int video_mux_async_register(struct video_mux *vmux,
for (i = 0; i < num_input_pads; i++) {
struct v4l2_async_subdev *asd;
struct fwnode_handle *ep;
struct fwnode_handle *ep, *remote_ep;
ep = fwnode_graph_get_endpoint_by_id(
dev_fwnode(vmux->subdev.dev), i, 0,
@@ -370,6 +370,14 @@ static int video_mux_async_register(struct video_mux *vmux,
if (!ep)
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(
&vmux->notifier, ep, sizeof(*asd));