Re: v4l parent for usb device interface or device?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Best regards,

Laurent Pinchart

--
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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux