Input: serio - add helper macro for serio_driver boilerplate
This patch introduces the module_serio_driver macro which is a convenience macro for serio driver modules similar to module_platform_driver. It is intended to be used by drivers which init/exit section does nothing but registers/unregisters the serio driver. By using this macro it is possible to eliminate a few lines of boilerplate code per serio driver. Based on work done by Lars-Peter Clausen <lars@metafoo.de> for other buses (i2c and spi). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
ae584ca473
commit
fa7f86d157
|
@ -96,6 +96,19 @@ int __must_check __serio_register_driver(struct serio_driver *drv,
|
|||
|
||||
void serio_unregister_driver(struct serio_driver *drv);
|
||||
|
||||
/**
|
||||
* module_serio_driver() - Helper macro for registering a serio driver
|
||||
* @__serio_driver: serio_driver struct
|
||||
*
|
||||
* Helper macro for serio 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_serio_driver(__serio_driver) \
|
||||
module_driver(__serio_driver, serio_register_driver, \
|
||||
serio_unregister_driver)
|
||||
|
||||
static inline int serio_write(struct serio *serio, unsigned char data)
|
||||
{
|
||||
if (serio->write)
|
||||
|
|
Loading…
Reference in New Issue