info(DRIVER_DESC " " DRIVER_VERSION); 
info(DRIVER_DESC); 
static int __init visor_init (void){	int i, retval;	/* Only if parameters were passed to us */	if ((vendor>0) && (product>0)) {		struct usb_device_id usb_dev_temp[]=			{{USB_DEVICE(vendor, product),			.driver_info = (kernel_ulong_t)&palm_os_4_probe }};		/* Find the last entry in id_table */		for (i=0; ; i++) {			if (id_table[i].idVendor==0) {				id_table[i] = usb_dev_temp[0];				break;			}		}		/* Find the last entry in id_table_combined */		for (i=0; ; i++) {			if (id_table_combined[i].idVendor==0) {				id_table_combined[i] = usb_dev_temp[0];				break;			}		}		info("Untested USB device specified at time of module insertion");		info("Warning: This is not guaranteed to work");		info("Using a newer kernel is preferred to this method");		info("Adding Palm OS protocol 4.x support for unknown device: 0x%x/0x%x",			vendor, product);	}	retval = usb_serial_register(&handspring_device);	if (retval)		goto failed_handspring_register;	retval = usb_serial_register(&clie_3_5_device);	if (retval)		goto failed_clie_3_5_register;	retval = usb_serial_register(&clie_5_device);	if (retval)		goto failed_clie_5_register;	retval = usb_register(&visor_driver);	if (retval) 		goto failed_usb_register;	info(DRIVER_DESC " " DRIVER_VERSION);	return 0;failed_usb_register:	usb_serial_deregister(&clie_5_device);failed_clie_5_register:	usb_serial_deregister(&clie_3_5_device);failed_clie_3_5_register:	usb_serial_deregister(&handspring_device);failed_handspring_register:	return retval;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/17a882fc0c91477b2582a6dfd4ca93ae7eb58cd3/visor.c/clean/drivers/usb/serial/visor.c