Niklas Söderlund wrote: > Hi Sakari, > > On 2017-07-20 19:14:01 +0300, Sakari Ailus wrote: >> Hi Hans, >> >> Thanks for the review. >> >> On Wed, Jul 19, 2017 at 01:42:55PM +0200, Hans Verkuil wrote: >>> On 18/07/17 21:03, Sakari Ailus wrote: >>>> Hi folks, >>>> >>>> This RFC patchset achieves a number of things which I've put to the same >>>> patchset for they need to be show together to demonstrate the use cases. >>>> >>>> I don't really intend this to compete with Niklas's patchset but much of >>>> the problem area addressed by the two is the same. >>>> >>>> Comments would be welcome. >>>> >>>> - Add AS3645A LED flash class driver. >>>> >>>> - Add async notifiers (by Niklas). >>>> >>>> - V4L2 sub-device node registration is moved to take place at the same time >>>> with the registration of the sub-device itself. With this change, >>>> sub-device node registration behaviour is aligned with video node >>>> registration. >>>> >>>> - The former is made possible by moving the bound() callback after >>>> sub-device registration. >>>> >>>> - As all the device node registration and link creation is done as the >>>> respective devices are probed, there is no longer dependency to the >>>> notifier complete callback which as itself is seen problematic. The >>>> complete callback still exists but there's no need to use it, pending >>>> changes in individual drivers. >>>> >>>> See: >>>> <URL:http://www.spinics.net/lists/linux-media/msg118323.html> >>>> >>>> As a result, if a part of the media device fails to initialise because it >>>> is e.g. physically broken, it will be possible to use what works. >>> >>> I've got major problems with this from a userspace point of view. In the vast >>> majority of cases you just want to bail out if one or more subdevs fail. >> >> I admit it's easier for the user space if the device becomes available only >> when all its component drivers have registered. >> >> Also remember that video nodes are registered in the file system right on >> device probe time. It's only sub-device and media device node registration >> that has taken place in the notifier's complete handler. > > Is this always the case? In the R-Car VIN driver I register the video > devices using video_register_device() in the complete handler. Am I > doing things wrong in that driver? I had a patch where I moved the > video_register_device() call to probe time but it got shoot down in > review and was dropped. I don't think the current implementation is wrong, it's just different from other drivers; there's really no requirement regarding this AFAIU. It's one of the things where no attention has been paid I presume. However doing anything that can fail earlier on would be nicer since there's no reasonable way to signal an error from complete callback either. -- Regards, Sakari Ailus sakari.ailus@xxxxxx