Commit f9482d01 authored by Ezequiel García's avatar Ezequiel García Committed by Mauro Carvalho Chehab

[media] staging: easycap: Push bInterfaceNumber saving to config_easycap()

Signed-off-by: default avatarEzequiel Garcia <elezegarcia@gmail.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 20c50af2
......@@ -3242,6 +3242,44 @@ static int create_video_urbs(struct easycap *peasycap)
return 0;
}
static void config_easycap(struct easycap *peasycap,
u8 bInterfaceNumber,
u8 bInterfaceClass,
u8 bInterfaceSubClass)
{
if ((USB_CLASS_VIDEO == bInterfaceClass) ||
(USB_CLASS_VENDOR_SPEC == bInterfaceClass)) {
if (-1 == peasycap->video_interface) {
peasycap->video_interface = bInterfaceNumber;
JOM(4, "setting peasycap->video_interface=%i\n",
peasycap->video_interface);
} else {
if (peasycap->video_interface != bInterfaceNumber) {
SAM("ERROR: attempting to reset "
"peasycap->video_interface\n");
SAM("...... continuing with "
"%i=peasycap->video_interface\n",
peasycap->video_interface);
}
}
} else if ((USB_CLASS_AUDIO == bInterfaceClass) &&
(USB_SUBCLASS_AUDIOSTREAMING == bInterfaceSubClass)) {
if (-1 == peasycap->audio_interface) {
peasycap->audio_interface = bInterfaceNumber;
JOM(4, "setting peasycap->audio_interface=%i\n",
peasycap->audio_interface);
} else {
if (peasycap->audio_interface != bInterfaceNumber) {
SAM("ERROR: attempting to reset "
"peasycap->audio_interface\n");
SAM("...... continuing with "
"%i=peasycap->audio_interface\n",
peasycap->audio_interface);
}
}
}
}
static const struct v4l2_file_operations v4l2_fops = {
.owner = THIS_MODULE,
.open = easycap_open_noinode,
......@@ -3340,37 +3378,9 @@ static int easycap_usb_probe(struct usb_interface *intf,
return -ENODEV;
}
if ((USB_CLASS_VIDEO == bInterfaceClass) ||
(USB_CLASS_VENDOR_SPEC == bInterfaceClass)) {
if (-1 == peasycap->video_interface) {
peasycap->video_interface = bInterfaceNumber;
JOM(4, "setting peasycap->video_interface=%i\n",
peasycap->video_interface);
} else {
if (peasycap->video_interface != bInterfaceNumber) {
SAM("ERROR: attempting to reset "
"peasycap->video_interface\n");
SAM("...... continuing with "
"%i=peasycap->video_interface\n",
peasycap->video_interface);
}
}
} else if ((USB_CLASS_AUDIO == bInterfaceClass) &&
(USB_SUBCLASS_AUDIOSTREAMING == bInterfaceSubClass)) {
if (-1 == peasycap->audio_interface) {
peasycap->audio_interface = bInterfaceNumber;
JOM(4, "setting peasycap->audio_interface=%i\n",
peasycap->audio_interface);
} else {
if (peasycap->audio_interface != bInterfaceNumber) {
SAM("ERROR: attempting to reset "
"peasycap->audio_interface\n");
SAM("...... continuing with "
"%i=peasycap->audio_interface\n",
peasycap->audio_interface);
}
}
}
config_easycap(peasycap, bInterfaceNumber,
bInterfaceClass,
bInterfaceSubClass);
/*
* Investigate all altsettings. This is done in detail
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment