Hi Sakari, >>> In omap3isp/isp.c: isp_fwnodes_parse() the async notifier is registered looking >>> at the endpoints parent fwnode: >>> >>> isd->asd.match.fwnode.fwnode = >>> fwnode_graph_get_remote_port_parent(fwnode); >>> >>> This would therefore not support ADV748x ... (it wouldn't know which TX/CSI >>> entity to match against) >>> >>> So the way I see it is that all devices which currently register an async >>> notifier should now register the match against the endpoint instead of the >>> parent device: >>> >>> - isd->asd.match.fwnode.fwnode = fwnode_graph_get_remote_port_parent(fwnode); >>> + isd->asd.match.fwnode.fwnode = fwnode; >>> >>> And then if we adapt the match to check against: >>> fwnode == fwnode || fwnode == fwnode_graph_get_remote_port_parent(fwnode); >> >> That's not enough as a master driver may use device node whereas the >> sub-device driver uses endpoint node. You need to do it both ways. >> I've worked through this and I'm convinced that it should not be both ways... We are matching a Subdevice (SD) to an Async Subdevice Notifier (ASD) Bringing in 'endpoints' gives us the following match combinations SD ASD : Result ep ep : Match ... Subdevices can specify their endpoint node. Notifiers can be updated to also specify the (remote) endpoint. dev ep : Match - We should take the parent of the ASD to match SD, to support subdevices which default to their device node. dev dev : Match - This is the current case for all other drivers but Notifier ASDs can be converted to EP's ep dev : No Match - We should *not* take the parent of the SD If a subdevice has specified it's endpoint, (ADV748x) Matching against the parent device is invalid. Finding and matching the parent of the SD would allow a driver to register a notifier ASD with a dev node, and expect to match a subdevice that has registered it's subdev with an EP node. This would erroneously allow drivers to register a notifier that would match against *both* of the ADV748x CSI2 entities. I have posted an implementation of this as: [PATCH v1 3/3] v4l: async: Match parent devices [0] I believe this to be correct - but I'm aware that I'm only really considering the OF side here... Please let me know if there's something I'm not taking into account. [0] https://www.spinics.net/lists/linux-media/msg115677.html Regards -- Kieran