mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 02:04:05 +08:00
USB: Add helper macro for usb_driver boilerplate
This patch introduces the module_usb_driver macro which is a convenience macro for USB driver modules similar to module_platform_driver. It is intended to be used by drivers which init/exit section does nothing but register/unregister the USB driver. By using this macro it is possible to eliminate a few lines of boilerplate code per USB driver. Based on work done by Lars-Peter Clausen <lars@metafoo.de> for other busses (i2c and spi). Cc: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ae6ae6fec3
commit
f3a6a4b6cf
@ -953,6 +953,18 @@ extern int usb_register_driver(struct usb_driver *, struct module *,
|
||||
|
||||
extern void usb_deregister(struct usb_driver *);
|
||||
|
||||
/**
|
||||
* 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, usb_register, \
|
||||
usb_deregister)
|
||||
|
||||
extern int usb_register_device_driver(struct usb_device_driver *,
|
||||
struct module *);
|
||||
extern void usb_deregister_device_driver(struct usb_device_driver *);
|
||||
|
Loading…
Reference in New Issue
Block a user