return -EIO; 
return -ENODEV; 
static int hid_probe(struct usb_interface *intf, const struct usb_device_id *id){	struct hid_device *hid;	char path[64];	int i;	char *c;	dbg("HID probe called for ifnum %d",			intf->altsetting->desc.bInterfaceNumber);	if (!(hid = usb_hid_configure(intf)))		return -EIO;	hid_init_reports(hid);	hid_dump_device(hid);	if (!hidinput_connect(hid))		hid->claimed |= HID_CLAIMED_INPUT;	if (!hiddev_connect(hid))		hid->claimed |= HID_CLAIMED_HIDDEV;	usb_set_intfdata(intf, hid);	if (!hid->claimed) {		printk ("HID device not claimed by input or hiddev\n");		hid_disconnect(intf);		return -EIO;	}	printk(KERN_INFO);	if (hid->claimed & HID_CLAIMED_INPUT)		printk("input");	if (hid->claimed == (HID_CLAIMED_INPUT | HID_CLAIMED_HIDDEV))		printk(",");	if (hid->claimed & HID_CLAIMED_HIDDEV)		printk("hiddev%d", hid->minor);	c = "Device";	for (i = 0; i < hid->maxcollection; i++) {		if (hid->collection[i].type == HID_COLLECTION_APPLICATION &&		    (hid->collection[i].usage & HID_USAGE_PAGE) == HID_UP_GENDESK &&		    (hid->collection[i].usage & 0xffff) < ARRAY_SIZE(hid_types)) {			c = hid_types[hid->collection[i].usage & 0xffff];			break;		}	}	usb_make_path(interface_to_usbdev(intf), path, 63);	printk(": USB HID v%x.%02x %s [%s] on %s\n",		hid->version >> 8, hid->version & 0xff, c, hid->name, path);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/479f6ea85e513551510ad52f37e69e1c596ad356/hid-core.c/clean/drivers/usb/input/hid-core.c