[media] staging: easycap: Push bInterfaceNumber saving to config_easycap()
Signed-off-by: Ezequiel Garcia <elezegarcia@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
20c50af28a
commit
f9482d0198
@@ -3242,6 +3242,44 @@ static int create_video_urbs(struct easycap *peasycap)
|
|||||||
return 0;
|
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 = {
|
static const struct v4l2_file_operations v4l2_fops = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.open = easycap_open_noinode,
|
.open = easycap_open_noinode,
|
||||||
@@ -3340,37 +3378,9 @@ static int easycap_usb_probe(struct usb_interface *intf,
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((USB_CLASS_VIDEO == bInterfaceClass) ||
|
config_easycap(peasycap, bInterfaceNumber,
|
||||||
(USB_CLASS_VENDOR_SPEC == bInterfaceClass)) {
|
bInterfaceClass,
|
||||||
if (-1 == peasycap->video_interface) {
|
bInterfaceSubClass);
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Investigate all altsettings. This is done in detail
|
* Investigate all altsettings. This is done in detail
|
||||||
|
Reference in New Issue
Block a user