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:

committed by
Greg Kroah-Hartman

parent
62c666805a
commit
a61f8a2e45
@@ -362,7 +362,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,
|
||||||
@@ -370,6 +370,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, sizeof(*asd));
|
&vmux->notifier, ep, sizeof(*asd));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user