linux中USB模块的注册方式分为两种:
1.按照常规驱动的注册方式注册
2.使用内核提供的宏:module_usb_driver注册
#if 1 //常规模块注册方式
static int __init usb_drv_init(void)
{
/*3、注册usb_driver驱动*/
usb_register_driver(&usb_driver,THIS_MODULE,"XL_USB");
printk(" usb_drv_init OK!!\n");
return 0;
}
static void __exit usb_drv_exit(void)
{
usb_deregister(&usb_driver);
printk("usb_drv_exit ok!!\n");
}
module_init(usb_drv_init);
module_exit(usb_drv_exit);
#else //快捷宏注册方式
/** usb.h 1032行
* module_usb_driver() - Helper macro for registering a USB driver
* @__usb_driver: usb_driver struct
*
* Helper macro for USB drivers which do not do anything special in module
* init/exit. This eliminates a lot of boilerplate. Each module may only
* use this macro once, and calling it replaces module_init() and module_exit()
*/
//#define module_usb_driver(__usb_driver) module_driver(__usb_driver, u