> Hi Hans, > > On Wednesday 25 March 2009 11:18:31 Hans de Goede wrote: >> <take 2 this time to the new list, hoping it gets some more attention> >> >> Hi, >> >> Today it came to my attention (through a libv4l bugreport) that >> the uvc driver and the gspca driver handle the setting of >> the v4l parent for usb webcams differently. >> >> The probe function for an usb driver gets passed in a >> "struct usb_interface *intf" parameter. >> >> uvc sets parent to: >> >> vdev->parent = &intf->dev; >> >> gspca uses: >> struct usb_device *dev = interface_to_usbdev(intf); >> vdev.parent = &dev->dev; >> >> Looking at what for example the usb mass-storage driver >> does (with my multi function printer/scanner with cardreader), >> which matches UVC, and thinking about how this is supposed to >> work with multifunction devices in general, I believe the uvc >> driver behaviour is correct, but before writing a patch for >> gspca, I thought it would be good to first discuss this on the >> list. >> >> So what do you think ? > > I obviously agree with you :-) > > USB class drivers bind to interfaces instead of devices to support > composite > (multifunction) devices. While drivers for vendor-specific USB devices can > bind to the device, in which case the parent could be a USB device, we > need to > have some consistency in the sysfs symlinks. Using a USB interface as the > video device parent regardless of the device type makes sense. If the parent should indeed become the usb_interface, then we should make all v4l usb drivers consistent. And update v4l2-framework.txt. I've noticed before that it seems to be random what is used as the parent. I'm no USB expert, so I'm relying on your input. Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by TANDBERG -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html