Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa7f86d1 authored by Axel Lin's avatar Axel Lin Committed by Dmitry Torokhov
Browse files

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: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent ae584ca4
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -96,6 +96,19 @@ int __must_check __serio_register_driver(struct serio_driver *drv,


void serio_unregister_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)
static inline int serio_write(struct serio *serio, unsigned char data)
{
{
	if (serio->write)
	if (serio->write)