Skip to content

Commit

Permalink
Input: serio - add helper macro for serio_driver boilerplate
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Axel Lin authored and Dmitry Torokhov committed Apr 4, 2012
1 parent ae584ca commit fa7f86d
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions include/linux/serio.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit fa7f86d

Please sign in to comment.