On 09/27/2018 12:13 PM, Mauro Carvalho Chehab wrote: > 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? See this old discussion: https://patchwork.kernel.org/patch/9849317/ My point is that someone needs to think about this and make a proposal. There may well be a simple approach, but it needs to be specced first. Regards, Hans > >> >> 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 >