Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 249749
b: refs/heads/master
c: 1d243c2
h: refs/heads/master
i:
  249747: fe9668d
v: v3
  • Loading branch information
Tomas Winkler authored and Greg Kroah-Hartman committed May 18, 2011
1 parent 3ccd469 commit 86ed352
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 145 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 49c30e5764f51b5d1b6e0c6402c74eba4244bdd1
refs/heads/master: 1d243c2e18a6070f4029b774966c51967c3240e0
263 changes: 119 additions & 144 deletions trunk/drivers/staging/easycap/easycap_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2988,7 +2988,7 @@ static int easycap_usb_probe(struct usb_interface *intf,
struct data_urb *pdata_urb;
size_t wMaxPacketSize;
u8 bEndpointAddress;
int isin, i, j, k, m, rc;
int i, j, k, m, rc;
u8 bInterfaceNumber;
u8 bInterfaceClass;
u8 bInterfaceSubClass;
Expand Down Expand Up @@ -3353,155 +3353,130 @@ static int easycap_usb_probe(struct usb_interface *intf,
wMaxPacketSize = le16_to_cpu(ep->wMaxPacketSize);
bEndpointAddress = ep->bEndpointAddress;

if (ep->bEndpointAddress & USB_DIR_IN) {
JOM(4, "intf[%i]alt[%i]end[%i] is an IN endpoint\n",
bInterfaceNumber, i, j);
isin = 1;
} else {
JOM(4, "intf[%i]alt[%i]end[%i] is an OUT endpoint\n",
bInterfaceNumber, i, j);
SAM("ERROR: OUT endpoint unexpected\n");
SAM("...... continuing\n");
isin = 0;

if (!usb_endpoint_is_isoc_in(ep)) {
JOM(4, "intf[%i]alt[%i]end[%i] is a %d endpoint\n",
bInterfaceNumber,
i, j, ep->bmAttributes);
if (usb_endpoint_dir_out(ep)) {
SAM("ERROR: OUT endpoint unexpected\n");
SAM("...... continuing\n");
}
continue;
}
if ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_ISOC) {
JOM(4, "intf[%i]alt[%i]end[%i] is an ISOC endpoint\n",
bInterfaceNumber, i, j);
if (isin) {
switch (bInterfaceClass) {
case USB_CLASS_VIDEO:
case USB_CLASS_VENDOR_SPEC: {
if (!peasycap) {
SAM("MISTAKE: "
"peasycap is NULL\n");
return -EFAULT;
}
if (ep->wMaxPacketSize) {
if (8 > isokalt) {
okalt[isokalt] = i;
JOM(4,
"%i=okalt[%i]\n",
okalt[isokalt],
isokalt);
okepn[isokalt] =
ep->
bEndpointAddress &
0x0F;
JOM(4,
"%i=okepn[%i]\n",
okepn[isokalt],
isokalt);
okmps[isokalt] =
le16_to_cpu(ep->
wMaxPacketSize);
JOM(4,
"%i=okmps[%i]\n",
okmps[isokalt],
isokalt);
isokalt++;
}
} else {
if (-1 == peasycap->
video_altsetting_off) {
peasycap->
video_altsetting_off =
i;
JOM(4, "%i=video_"
"altsetting_off "
"<====\n",
peasycap->
video_altsetting_off);
} else {
SAM("ERROR: peasycap"
"->video_altsetting_"
"off already set\n");
SAM("...... "
"continuing with "
"%i=peasycap->video_"
"altsetting_off\n",
peasycap->
video_altsetting_off);
}
}
break;
switch (bInterfaceClass) {
case USB_CLASS_VIDEO:
case USB_CLASS_VENDOR_SPEC: {
if (ep->wMaxPacketSize) {
if (8 > isokalt) {
okalt[isokalt] = i;
JOM(4,
"%i=okalt[%i]\n",
okalt[isokalt],
isokalt);
okepn[isokalt] =
ep->
bEndpointAddress &
0x0F;
JOM(4,
"%i=okepn[%i]\n",
okepn[isokalt],
isokalt);
okmps[isokalt] =
le16_to_cpu(ep->
wMaxPacketSize);
JOM(4,
"%i=okmps[%i]\n",
okmps[isokalt],
isokalt);
isokalt++;
}
case USB_CLASS_AUDIO: {
if (bInterfaceSubClass !=
USB_SUBCLASS_AUDIOSTREAMING)
break;
if (!peasycap) {
SAM("MISTAKE: "
"peasycap is NULL\n");
return -EFAULT;
}
if (ep->wMaxPacketSize) {
if (8 > isokalt) {
okalt[isokalt] = i ;
JOM(4,
"%i=okalt[%i]\n",
okalt[isokalt],
isokalt);
okepn[isokalt] =
ep->
bEndpointAddress &
0x0F;
JOM(4,
"%i=okepn[%i]\n",
okepn[isokalt],
isokalt);
okmps[isokalt] =
le16_to_cpu(ep->
wMaxPacketSize);
JOM(4,
"%i=okmps[%i]\n",
okmps[isokalt],
isokalt);
isokalt++;
}
} else {
if (-1 == peasycap->
audio_altsetting_off) {
peasycap->
audio_altsetting_off =
i;
JOM(4, "%i=audio_"
"altsetting_off "
"<====\n",
peasycap->
audio_altsetting_off);
} else {
SAM("ERROR: peasycap"
"->audio_altsetting_"
"off already set\n");
SAM("...... "
"continuing with "
"%i=peasycap->"
"audio_altsetting_"
"off\n",
peasycap->
audio_altsetting_off);
}
}
} else {
if (-1 == peasycap->
video_altsetting_off) {
peasycap->
video_altsetting_off =
i;
JOM(4, "%i=video_"
"altsetting_off "
"<====\n",
peasycap->
video_altsetting_off);
} else {
SAM("ERROR: peasycap"
"->video_altsetting_"
"off already set\n");
SAM("...... "
"continuing with "
"%i=peasycap->video_"
"altsetting_off\n",
peasycap->
video_altsetting_off);
}
}
break;
}
case USB_CLASS_AUDIO: {
if (bInterfaceSubClass !=
USB_SUBCLASS_AUDIOSTREAMING)
break;
if (!peasycap) {
SAM("MISTAKE: "
"peasycap is NULL\n");
return -EFAULT;
}
if (ep->wMaxPacketSize) {
if (8 > isokalt) {
okalt[isokalt] = i ;
JOM(4,
"%i=okalt[%i]\n",
okalt[isokalt],
isokalt);
okepn[isokalt] =
ep->
bEndpointAddress &
0x0F;
JOM(4,
"%i=okepn[%i]\n",
okepn[isokalt],
isokalt);
okmps[isokalt] =
le16_to_cpu(ep->
wMaxPacketSize);
JOM(4,
"%i=okmps[%i]\n",
okmps[isokalt],
isokalt);
isokalt++;
}
default:
break;
} else {
if (-1 == peasycap->
audio_altsetting_off) {
peasycap->
audio_altsetting_off =
i;
JOM(4, "%i=audio_"
"altsetting_off "
"<====\n",
peasycap->
audio_altsetting_off);
} else {
SAM("ERROR: peasycap"
"->audio_altsetting_"
"off already set\n");
SAM("...... "
"continuing with "
"%i=peasycap->"
"audio_altsetting_"
"off\n",
peasycap->
audio_altsetting_off);
}
}
} else if ((ep->bmAttributes &
USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_BULK) {
JOM(4, "intf[%i]alt[%i]end[%i] is a BULK endpoint\n",
bInterfaceNumber, i, j);
} else if ((ep->bmAttributes &
USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_INT) {
JOM(4, "intf[%i]alt[%i]end[%i] is an INT endpoint\n",
bInterfaceNumber, i, j);
} else {
JOM(4, "intf[%i]alt[%i]end[%i] is a CTRL endpoint\n",
bInterfaceNumber, i, j);
break;
}
default:
break;
}
if (0 == ep->wMaxPacketSize) {
JOM(4, "intf[%i]alt[%i]end[%i] "
Expand Down

0 comments on commit 86ed352

Please sign in to comment.