diff options
| author | Daniel Scally <[email protected]> | 2021-01-07 13:28:35 +0000 |
|---|---|---|
| committer | Mauro Carvalho Chehab <[email protected]> | 2021-01-26 18:31:39 +0000 |
| commit | 06c85233121fabc69ffe6124953cd5304dbf3afd (patch) | |
| tree | be6958062bc01c4800823200815f51c4addea445 /drivers/media/v4l2-core/v4l2-async.c | |
| parent | media: ipu3-cio2: Rename ipu3-cio2.c (diff) | |
| download | kernel-06c85233121fabc69ffe6124953cd5304dbf3afd.tar.gz kernel-06c85233121fabc69ffe6124953cd5304dbf3afd.zip | |
media: v4l2-core: v4l2-async: Check sd->fwnode->secondary in match_fwnode()
Where the fwnode graph is comprised of software_nodes, these will be
assigned as the secondary to dev->fwnode. Check the v4l2_subdev's fwnode
for a secondary and attempt to match against it during match_fwnode() to
accommodate that possibility.
Reviewed-by: Andy Shevchenko <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
Signed-off-by: Daniel Scally <[email protected]>
Signed-off-by: Sakari Ailus <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-async.c')
| -rw-r--r-- | drivers/media/v4l2-core/v4l2-async.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c index e3ab003a6c85..9dd896d085ec 100644 --- a/drivers/media/v4l2-core/v4l2-async.c +++ b/drivers/media/v4l2-core/v4l2-async.c @@ -88,6 +88,14 @@ static bool match_fwnode(struct v4l2_async_notifier *notifier, return true; /* + * Check the same situation for any possible secondary assigned to the + * subdev's fwnode + */ + if (!IS_ERR_OR_NULL(sd->fwnode->secondary) && + sd->fwnode->secondary == asd->match.fwnode) + return true; + + /* * Otherwise, check if the sd fwnode and the asd fwnode refer to an * endpoint or a device. If they're of the same type, there's no match. * Technically speaking this checks if the nodes refer to a connected |
