summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor_core@ameritech.net>2006-02-19 00:22:51 -0500
committerDmitry Torokhov <dtor_core@ameritech.net>2006-02-19 00:22:51 -0500
commit51c38f9bce274a1e8a90aa457fb433be738f7458 (patch)
tree1a04a18c40f7705c8b001f5483b95bdd38727c6f
parent221979aad6ab4792617f2e58973aa6fc349d4036 (diff)
downloadlwn-51c38f9bce274a1e8a90aa457fb433be738f7458.tar.gz
lwn-51c38f9bce274a1e8a90aa457fb433be738f7458.zip
Input: initialize serio and gameport at subsystem level
Serio and gameport cores do not depend on other drivers and are used by code living outside of drivers/input/{gameport|serio}. Registering them at subsystem level guarantees that they are fully initialized before anyone tries to use them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--drivers/Makefile4
-rw-r--r--drivers/input/gameport/gameport.c2
-rw-r--r--drivers/input/serio/serio.c2
3 files changed, 3 insertions, 5 deletions
diff --git a/drivers/Makefile b/drivers/Makefile
index 5c69b86db624..6495411337d8 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -25,9 +25,6 @@ obj-$(CONFIG_CONNECTOR) += connector/
obj-$(CONFIG_FB_I810) += video/i810/
obj-$(CONFIG_FB_INTEL) += video/intelfb/
-# we also need input/serio early so serio bus is initialized by the time
-# serial drivers start registering their serio ports
-obj-$(CONFIG_SERIO) += input/serio/
obj-y += serial/
obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ block/ misc/ mfd/ net/ media/
@@ -53,6 +50,7 @@ obj-$(CONFIG_TC) += tc/
obj-$(CONFIG_USB) += usb/
obj-$(CONFIG_PCI) += usb/
obj-$(CONFIG_USB_GADGET) += usb/gadget/
+obj-$(CONFIG_SERIO) += input/serio/
obj-$(CONFIG_GAMEPORT) += input/gameport/
obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_I2O) += message/
diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c
index 9444702630c4..bcfd700829a1 100644
--- a/drivers/input/gameport/gameport.c
+++ b/drivers/input/gameport/gameport.c
@@ -797,5 +797,5 @@ static void __exit gameport_exit(void)
kthread_stop(gameport_task);
}
-module_init(gameport_init);
+subsys_initcall(gameport_init);
module_exit(gameport_exit);
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c
index 79e5e77ce03e..966600779b70 100644
--- a/drivers/input/serio/serio.c
+++ b/drivers/input/serio/serio.c
@@ -924,5 +924,5 @@ static void __exit serio_exit(void)
kthread_stop(serio_task);
}
-module_init(serio_init);
+subsys_initcall(serio_init);
module_exit(serio_exit);