V4L/DVB (9766): em28xx: improve probe messages

Prints usb speed used by em28xx interface. While there, fixes USB ID's
endiannes.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Mauro Carvalho Chehab 2008-11-27 14:32:17 -03:00
parent 017ab4b1e2
commit 6a18eaf61a
1 changed files with 31 additions and 13 deletions

View File

@ -2176,6 +2176,7 @@ static int em28xx_usb_probe(struct usb_interface *interface,
struct em28xx *dev = NULL; struct em28xx *dev = NULL;
int retval = -ENODEV; int retval = -ENODEV;
int i, nr, ifnum, isoc_pipe; int i, nr, ifnum, isoc_pipe;
char *speed;
udev = usb_get_dev(interface_to_usbdev(interface)); udev = usb_get_dev(interface_to_usbdev(interface));
ifnum = interface->altsetting[0].desc.bInterfaceNumber; ifnum = interface->altsetting[0].desc.bInterfaceNumber;
@ -2186,11 +2187,12 @@ static int em28xx_usb_probe(struct usb_interface *interface,
/* Don't register audio interfaces */ /* Don't register audio interfaces */
if (interface->altsetting[0].desc.bInterfaceClass == USB_CLASS_AUDIO) { if (interface->altsetting[0].desc.bInterfaceClass == USB_CLASS_AUDIO) {
em28xx_err(DRIVER_NAME " audio device (%04x:%04x): interface %i, class %i\n", em28xx_err(DRIVER_NAME " audio device (%04x:%04x): "
udev->descriptor.idVendor, "interface %i, class %i\n",
udev->descriptor.idProduct, le16_to_cpu(udev->descriptor.idVendor),
ifnum, le16_to_cpu(udev->descriptor.idProduct),
interface->altsetting[0].desc.bInterfaceClass); ifnum,
interface->altsetting[0].desc.bInterfaceClass);
em28xx_devused &= ~(1<<nr); em28xx_devused &= ~(1<<nr);
return -ENODEV; return -ENODEV;
@ -2219,8 +2221,8 @@ static int em28xx_usb_probe(struct usb_interface *interface,
if (!check_interface) { if (!check_interface) {
em28xx_err(DRIVER_NAME " video device (%04x:%04x): " em28xx_err(DRIVER_NAME " video device (%04x:%04x): "
"interface %i, class %i found.\n", "interface %i, class %i found.\n",
udev->descriptor.idVendor, le16_to_cpu(udev->descriptor.idVendor),
udev->descriptor.idProduct, le16_to_cpu(udev->descriptor.idProduct),
ifnum, ifnum,
interface->altsetting[0].desc.bInterfaceClass); interface->altsetting[0].desc.bInterfaceClass);
@ -2230,14 +2232,30 @@ static int em28xx_usb_probe(struct usb_interface *interface,
em28xx_devused &= ~(1<<nr); em28xx_devused &= ~(1<<nr);
return -ENODEV; return -ENODEV;
} }
} }
em28xx_err(DRIVER_NAME " new video device (%04x:%04x): interface %i, class %i\n", switch (udev->speed) {
udev->descriptor.idVendor, case USB_SPEED_LOW:
udev->descriptor.idProduct, speed = "1.5";
ifnum, break;
interface->altsetting[0].desc.bInterfaceClass); case USB_SPEED_UNKNOWN:
case USB_SPEED_FULL:
speed = "12";
break;
case USB_SPEED_HIGH:
speed = "480";
break;
default:
speed = "unknown";
}
printk(DRIVER_NAME ": New video device @ %s Mbps "
"(%04x:%04x, interface %d, class %d)\n",
speed,
le16_to_cpu(udev->descriptor.idVendor),
le16_to_cpu(udev->descriptor.idProduct),
ifnum,
interface->altsetting->desc.bInterfaceNumber);
if (nr >= EM28XX_MAXBOARDS) { if (nr >= EM28XX_MAXBOARDS) {
printk(DRIVER_NAME ": Supports only %i em28xx boards.\n", printk(DRIVER_NAME ": Supports only %i em28xx boards.\n",