All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Frank Schäfer" <fschaefer.oss@googlemail.com>
To: Linux Media Mailing List <linux-media@vger.kernel.org>
Cc: moinejf@free.fr
Subject: Re: Question about USB interface index restriction in gspca
Date: Thu, 15 Sep 2011 23:46:57 +0200	[thread overview]
Message-ID: <4E727251.9030308@googlemail.com> (raw)
In-Reply-To: <20110914082513.574baac2@tele>

Am 14.09.2011 08:25, schrieb Jean-Francois Moine:
> On Tue, 13 Sep 2011 21:14:28 +0200
> Frank Schäfer<fschaefer.oss@googlemail.com>  wrote:
>
>> I have a question about the following code in gspca.c:
>>
>> in function gspca_dev_probe(...):
>>       ...
>>       /* the USB video interface must be the first one */
>>       if (dev->config->desc.bNumInterfaces != 1
>> &&  intf->cur_altsetting->desc.bInterfaceNumber != 0)
>>               return -ENODEV;
>>       ...
>>
>> Is there a special reason for not allowing devices with USB interface
>> index>  0 for video ?
>> I'm experimenting with a device that has the video interface at index 3
>> and two audio interfaces at index 0 and 1 (index two is missing !).
>> And the follow-up question: can we assume that all device handled by the
>> gspca-driver have vendor specific video interfaces ?
>> Then we could change the code to
>>
>>       ...
>>       /* the USB video interface must be of class vendor */
>>       if (intf->cur_altsetting->desc.bInterfaceClass !=
>> USB_CLASS_VENDOR_SPEC)
>>               return -ENODEV;
>>        ...
> Hi Frank,
>
> For webcam devices, the interface class is meaningful only when set to
> USB_CLASS_VIDEO (UVC). Otherwise, I saw many different values.
Does that mean that there are devices out in the wild that report for 
example USB_CLASS_WIRELESS_CONTROLLER for the video interface ???

> For video on a particular interface, the subdriver must call the
> function gspca_dev_probe2() as this is done in spca1528 and xirlink_cit.
>
> Regards.
Hmm, sure, that would work...
But wouldn't it be better to improve the interface check and merge the 
two probing functions ?
The subdrivers can decide which interfaces are (not) probed and the 
gspca core does plausability checks (e.g. bulk/isoc endpoint ? usb class ?).

Regards,
Frank


  reply	other threads:[~2011-09-15 21:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-13 19:14 Question about USB interface index restriction in gspca Frank Schäfer
2011-09-14  6:25 ` Jean-Francois Moine
2011-09-15 21:46   ` Frank Schäfer [this message]
2011-09-16  6:33     ` Jean-Francois Moine
2011-09-19 20:13       ` Frank Schäfer
2011-09-21  8:29         ` Jean-Francois Moine

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E727251.9030308@googlemail.com \
    --to=fschaefer.oss@googlemail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=moinejf@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.