printk ("em28xx: Supports only %i em28xx boards.\n",EM28XX_MAXBOARDS); 
printk (DRIVER_NAME ": Supports only %i em28xx boards.\n",EM28XX_MAXBOARDS); 
static int em28xx_usb_probe(struct usb_interface *interface,			    const struct usb_device_id *id){	const struct usb_endpoint_descriptor *endpoint;	struct usb_device *udev;	struct em28xx *dev = NULL;	int retval = -ENODEV;	int model,i,nr,ifnum;	udev = usb_get_dev(interface_to_usbdev(interface));	ifnum = interface->altsetting[0].desc.bInterfaceNumber;	/* Don't register audio interfaces */	if (interface->altsetting[0].desc.bInterfaceClass == USB_CLASS_AUDIO) {		em28xx_err(DRIVER_NAME " audio device (%04x:%04x): interface %i, class %i\n",				udev->descriptor.idVendor,udev->descriptor.idProduct,				ifnum,				interface->altsetting[0].desc.bInterfaceClass);		return -ENODEV;	}	em28xx_err(DRIVER_NAME " new video device (%04x:%04x): interface %i, class %i\n",			udev->descriptor.idVendor,udev->descriptor.idProduct,			ifnum,			interface->altsetting[0].desc.bInterfaceClass);	endpoint = &interface->cur_altsetting->endpoint[1].desc;	/* check if the the device has the iso in endpoint at the correct place */	if ((endpoint->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) !=	    USB_ENDPOINT_XFER_ISOC) {		em28xx_err(DRIVER_NAME " probing error: endpoint is non-ISO endpoint!\n");		return -ENODEV;	}	if ((endpoint->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT) {		em28xx_err(DRIVER_NAME " probing error: endpoint is ISO OUT endpoint!\n");		return -ENODEV;	}	model=id->driver_info;	nr=interface->minor;	if (nr>EM28XX_MAXBOARDS) {		printk ("em28xx: Supports only %i em28xx boards.\n",EM28XX_MAXBOARDS);		return -ENOMEM;	}	/* allocate memory for our device state and initialize it */	dev = kmalloc(sizeof(*dev), GFP_KERNEL);	if (dev == NULL) {		em28xx_err(DRIVER_NAME ": out of memory!\n");		return -ENOMEM;	}	memset(dev, 0, sizeof(*dev));	snprintf(dev->name, 29, "em28xx #%d", nr);	if ((card[nr]>=0)&&(card[nr]<em28xx_bcount))		model=card[nr];	if ((model==EM2800_BOARD_UNKNOWN)||(model==EM2820_BOARD_UNKNOWN)) {		printk( "%s: Your board has no eeprom inside it and thus can't\n"			"%s: be autodetected.  Please pass card=<n> insmod option to\n"			"%s: workaround that.  Redirect complaints to the vendor of\n"			"%s: the TV card.  Best regards,\n"			"%s:         -- tux\n",			dev->name,dev->name,dev->name,dev->name,dev->name);		printk("%s: Here is a list of valid choices for the card=<n> insmod option:\n",			dev->name);		for (i = 0; i < em28xx_bcount; i++) {			printk("%s:    card=%d -> %s\n",				dev->name, i, em28xx_boards[i].name);		}	}	/* allocate device struct */	retval = em28xx_init_dev(&dev, udev, nr, model);	if (retval)		return retval;	em28xx_info("Found %s\n", em28xx_boards[model].name);	/* save our data pointer in this interface device */	usb_set_intfdata(interface, dev);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9d4d9c05c807ab8a49ac0024987b223bb32c022d/em28xx-video.c/clean/drivers/media/video/em28xx/em28xx-video.c