On Tue, Dec 20, 2011 at 12:28:32AM +0100, Janusz Krzysztofik wrote:
diff --git a/drivers/input/serio/ams_delta_serio.c b/drivers/input/serio/ams_delta_serio.c index d4d08bd..56ffd7c 100644 --- a/drivers/input/serio/ams_delta_serio.c +++ b/drivers/input/serio/ams_delta_serio.c @@ -165,6 +165,9 @@ serio: kfree(ams_delta_serio); return err; } +#ifndef MODULE +late_initcall(ams_delta_serio_init); +#else module_init(ams_delta_serio_init);
static void __exit ams_delta_serio_exit(void) @@ -175,3 +178,4 @@ static void __exit ams_delta_serio_exit(void) gpio_free(AMS_DELTA_GPIO_PIN_KEYBRD_DATA); } module_exit(ams_delta_serio_exit); +#endif
It's worth noting:
#ifndef MODULE #define late_initcall(fn) __define_initcall("7",fn,7) #else /* MODULE */ #define late_initcall(fn) module_init(fn)
So really, all these ifndefs aren't required. Just change the module_init() to late_initcall().