static int myusb_init() { return usb_register(&myusb_driver); }
static int usbmouse_as_key_init(void) { /* 2. 注册 */ usb_register(&usbmouse_as_key_driver); return 0; }
static int __init usb_mdc800_init (void) { int retval = -ENODEV; /* Allocate Memory */ try (mdc800=kmalloc (sizeof (struct mdc800_data), GFP_KERNEL)); memset(mdc800, 0, sizeof(struct mdc800_data)); mdc800->dev=0; mdc800->open=0; mdc800->state=NOT_CONNECTED; init_MUTEX (&mdc800->io_lock); init_waitqueue_head (&mdc800->irq_wait); init_waitqueue_head (&mdc800->write_wait); init_waitqueue_head (&mdc800->download_wait); mdc800->irq_woken = 0; mdc800->downloaded = 0; mdc800->written = 0; try (mdc800->irq_urb_buffer=kmalloc (8, GFP_KERNEL)); try (mdc800->write_urb_buffer=kmalloc (8, GFP_KERNEL)); try (mdc800->download_urb_buffer=kmalloc (64, GFP_KERNEL)); try (mdc800->irq_urb=usb_alloc_urb (0, GFP_KERNEL)); try (mdc800->download_urb=usb_alloc_urb (0, GFP_KERNEL)); try (mdc800->write_urb=usb_alloc_urb (0, GFP_KERNEL)); /* Register the driver */ retval = usb_register(&mdc800_usb_driver); if (retval) goto cleanup_on_fail; info (DRIVER_VERSION ":" DRIVER_DESC); return 0; /* Clean driver up, when something fails */ cleanup_on_fail: if (mdc800 != 0) { err ("can't alloc memory!"); try_free_mem (mdc800->download_urb_buffer); try_free_mem (mdc800->write_urb_buffer); try_free_mem (mdc800->irq_urb_buffer); try_free_urb (mdc800->write_urb); try_free_urb (mdc800->download_urb); try_free_urb (mdc800->irq_urb); kfree (mdc800); } mdc800=0; return retval; } static void __exit usb_mdc800_cleanup (void) { usb_deregister (&mdc800_usb_driver); usb_free_urb (mdc800->irq_urb); usb_free_urb (mdc800->download_urb); usb_free_urb (mdc800->write_urb); kfree (mdc800->irq_urb_buffer); kfree (mdc800->write_urb_buffer); kfree (mdc800->download_urb_buffer); kfree (mdc800); mdc800=0; } module_init (usb_mdc800_init); module_exit (usb_mdc800_cleanup); MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL");
static int __init carl9170_usb_init(void) { return usb_register(&carl9170_driver); }
static int __init ar9170_init(void) { return usb_register(&ar9170_driver); }
static int __init btusb_init(void) { BT_INFO("Generic Bluetooth USB driver ver %s", VERSION); return usb_register(&btusb_driver); }
static int __init net1080_init(void) { return usb_register(&net1080_driver); }
static int __init kalmia_init(void) { return usb_register(&kalmia_driver); }
static int __init snd_module_init(void) { return usb_register(&snd_usb_driver); }
static int __init cdc_subset_init(void) { return usb_register(&cdc_subset_driver); }
static int __init ehset_init(void) { return usb_register(&ehset_driver); }
static int __init my_init_module( void ) { int err; printk( USB_INFO "Hello USB\n" ); err = usb_register( &my_usb_driver ); return err; }
static int __init usb_xpad_init(void) { return usb_register(&xpad_driver); }
int __init hiddev_init(void) { devfs_mk_dir("usb/hid"); return usb_register(&hiddev_driver); }
INT InterfaceInitialize(void) { // BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "Registering Usb driver!!"); return usb_register(&usbbcm_driver); }
/* * Module insertion */ static int __init ksdazzle_init(void) { return usb_register(&irda_driver); }
/* Init driver module */ int __init rtusb_init(void) { printk("rtusb init --->\n"); return usb_register(&rtusb_driver); }
/****************************************************************************** * * usb_cpia2_init * *****************************************************************************/ int cpia2_usb_init(void) { return usb_register(&cpia2_driver); }
static int __init usbpn_init(void) { return usb_register(&usbpn_driver); }
static int __init iowarrior_init(void) { return usb_register(&iowarrior_driver); }
static int __init rt2800usb_init(void) { return usb_register(&rt2800usb_driver); }
// // Driver module load function // INT __init usb_rtusb_init(void) { DBGPRINT(RT_DEBUG_TRACE, "%s-->\n", __FUNCTION__); return usb_register(&rtusb_driver); }
static int __init plusb_init(void) { return usb_register(&plusb_driver); }
static int __init bcm5974_init(void) { return usb_register(&bcm5974_driver); }
/* * si470x_module_init - module init */ static int __init si470x_module_init(void) { printk(KERN_INFO DRIVER_DESC ", Version " DRIVER_VERSION "\n"); return usb_register(&si470x_usb_driver); }
static int __init bridge_init(void) { struct data_bridge *dev; int ret; int i = 0; ret = ctrl_bridge_init(); if (ret) return ret; bridge_wq = create_singlethread_workqueue("mdm_bridge"); if (!bridge_wq) { pr_err("%s: Unable to create workqueue:bridge\n", __func__); ret = -ENOMEM; goto free_ctrl; } for (i = 0; i < MAX_BRIDGE_DEVICES; i++) { dev = kzalloc(sizeof(*dev), GFP_KERNEL); if (!dev) { err("%s: unable to allocate dev\n", __func__); ret = -ENOMEM; goto error; } dev->wq = bridge_wq; init_usb_anchor(&dev->tx_active); init_usb_anchor(&dev->rx_active); INIT_LIST_HEAD(&dev->rx_idle); skb_queue_head_init(&dev->rx_done); INIT_WORK(&dev->kevent, defer_kevent); INIT_WORK(&dev->process_rx_w, data_bridge_process_rx); __dev[i] = dev; } ret = usb_register(&bridge_driver); if (ret) { err("%s: unable to register mdm_bridge driver", __func__); goto error; } data_bridge_debugfs_init(); return 0; error: while (--i >= 0) { kfree(__dev[i]); __dev[i] = NULL; } destroy_workqueue(bridge_wq); free_ctrl: ctrl_bridge_exit(); return ret; }
static int __init p54u_init(void) { return usb_register(&p54u_driver); }
static int __init bpa10x_init(void) { BT_INFO("Digianswer Bluetooth USB driver ver %s", VERSION); return usb_register(&bpa10x_driver); }
static int __init usbnet_init(void) { return usb_register(&gl620a_driver); }
static int __init rndis_init(void) { return usb_register(&rndis_driver); }