Em Thu, 27 Sep 2018 11:52:35 +0200 Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > Hi Javier, > > On 09/04/2018 01:30 PM, Javier Martinez Canillas wrote: > > Hello, > > > > This series allows the ipu3-cio2 driver to properly expose a subset of the > > media graph even if some drivers for the pending subdevices fail to probe. > > > > Currently the driver exposes a non-functional graph since the pad links are > > created and the subdev dev nodes are registered in the v4l2 async .complete > > callback. Instead, these operations should be done in the .bound callback. > > > > Patch #1 just adds a v4l2_device_register_subdev_node() function to allow > > registering a single device node for a subdev of a v4l2 device. > > > > Patch #2 moves the logic of the ipu3-cio2 .complete callback to the .bound > > callback. The .complete callback is just removed since is empy after that. > > Sorry, I missed this series until you pointed to it on irc just now :-) > > I have discussed this topic before with Sakari and Laurent. My main problem > with this is how an application can discover that not everything is online? > And which parts are offline? Via the media controller? It should be possible for an application to see if a videonode is missing using it. > Perhaps a car with 10 cameras can function with 9, but not with 8. How would > userspace know? I guess this is not the only case where someone submitted a patch for a driver that would keep working if some device node registration fails. It could be just déjà vu, but I have a vague sensation that I merged something similar to it in the past on another driver, but I can't remember any details. > > I completely agree that we need to support these advanced scenarios (including > what happens when a camera suddenly fails), but it is the userspace aspects > for which I would like to see an RFC first before you can do these things. Dynamic runtime fails should likely rise some signal. Perhaps a sort of media controller event? > > Regards, > > Hans > > > > > Best regards, > > Javier > > > > > > Javier Martinez Canillas (2): > > [media] v4l: allow to register dev nodes for individual v4l2 subdevs > > media: intel-ipu3: create pad links and register subdev nodes at bound > > time > > > > drivers/media/pci/intel/ipu3/ipu3-cio2.c | 66 ++++++----------- > > drivers/media/v4l2-core/v4l2-device.c | 90 ++++++++++++++---------- > > include/media/v4l2-device.h | 10 +++ > > 3 files changed, 85 insertions(+), 81 deletions(-) > > > Thanks, Mauro