[patch 2.6.52-rc9] input: fix platform driver hotplug/coldplug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Kay Sievers <kay.sievers@xxxxxxxx>
Subject: add MODULE_ALIAS() to hotpluggable platform modules

Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias
is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable
"input" platform drivers, to re-enable auto loading.

[ dbrownell@xxxxxxxxxxxxxxxxxxxxx: more drivers, registration fixes ]
Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
---
By the way, where is linux-input@vger archived?  The mail-archive.com
stuff ends in February ... may I suggest marc.info?  When I post to
linux-input, it feels awfully much like a black hole.  Despite what
I've been told, the old list (@atrey not @vger) seems to be the only
one that's active, if one goes by archives...

 drivers/input/keyboard/aaed2000_kbd.c     |    4 ++++
 drivers/input/keyboard/bf54x-keys.c       |    2 ++
 drivers/input/keyboard/corgikbd.c         |    2 ++
 drivers/input/keyboard/gpio_keys.c        |    2 ++
 drivers/input/keyboard/jornada680_kbd.c   |    2 ++
 drivers/input/keyboard/jornada720_kbd.c   |    4 ++++
 drivers/input/keyboard/omap-keypad.c      |    2 ++
 drivers/input/keyboard/pxa27x_keypad.c    |    4 ++++
 drivers/input/keyboard/spitzkbd.c         |    1 +
 drivers/input/keyboard/tosakbd.c          |    2 ++
 drivers/input/misc/cobalt_btns.c          |    3 +++
 drivers/input/mouse/gpio_mouse.c          |    4 ++++
 drivers/input/serio/rpckbd.c              |    2 ++
 drivers/input/touchscreen/corgi_ts.c      |    2 ++
 drivers/input/touchscreen/jornada720_ts.c |    4 ++++
 15 files changed, 40 insertions(+)

--- g26.orig/drivers/input/keyboard/aaed2000_kbd.c	2008-04-13 16:12:01.000000000 -0700
+++ g26/drivers/input/keyboard/aaed2000_kbd.c	2008-04-13 16:15:05.000000000 -0700
@@ -156,11 +156,15 @@ static int __devexit aaedkbd_remove(stru
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:aaed2000-keyboard");
+
 static struct platform_driver aaedkbd_driver = {
 	.probe		= aaedkbd_probe,
 	.remove		= __devexit_p(aaedkbd_remove),
 	.driver		= {
 		.name	= "aaed2000-keyboard",
+		.owner	= THIS_MODULE,
 	},
 };
 
--- g26.orig/drivers/input/keyboard/bf54x-keys.c	2008-04-13 16:11:53.000000000 -0700
+++ g26/drivers/input/keyboard/bf54x-keys.c	2008-04-13 16:15:10.000000000 -0700
@@ -359,6 +359,7 @@ struct platform_driver bfin_kpad_device_
 	.remove		= __devexit_p(bfin_kpad_remove),
 	.driver		= {
 		.name	= DRV_NAME,
+		.owner	= THIS_MODULE,
 	}
 };
 
@@ -378,3 +379,4 @@ module_exit(bfin_kpad_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Michael Hennerich <hennerich@xxxxxxxxxxxxxxxxxxxx>");
 MODULE_DESCRIPTION("Keypad driver for BF54x Processors");
+MODULE_ALIAS("platform:bf54x-keys");
--- g26.orig/drivers/input/keyboard/corgikbd.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/keyboard/corgikbd.c	2008-04-13 16:12:32.000000000 -0700
@@ -392,6 +392,7 @@ static struct platform_driver corgikbd_d
 	.resume		= corgikbd_resume,
 	.driver		= {
 		.name	= "corgi-keyboard",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -411,3 +412,4 @@ module_exit(corgikbd_exit);
 MODULE_AUTHOR("Richard Purdie <rpurdie@xxxxxxxxx>");
 MODULE_DESCRIPTION("Corgi Keyboard Driver");
 MODULE_LICENSE("GPLv2");
+MODULE_ALIAS("platform:corgi-keyboard");
--- g26.orig/drivers/input/keyboard/gpio_keys.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/keyboard/gpio_keys.c	2008-04-13 16:12:27.000000000 -0700
@@ -214,6 +214,7 @@ struct platform_driver gpio_keys_device_
 	.resume		= gpio_keys_resume,
 	.driver		= {
 		.name	= "gpio-keys",
+		.owner	= THIS_MODULE,
 	}
 };
 
@@ -233,3 +234,4 @@ module_exit(gpio_keys_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Phil Blundell <pb@xxxxxxxxxxxxx>");
 MODULE_DESCRIPTION("Keyboard driver for CPU GPIOs");
+MODULE_ALIAS("platform:gpio-keys");
--- g26.orig/drivers/input/keyboard/jornada680_kbd.c	2008-04-13 16:11:53.000000000 -0700
+++ g26/drivers/input/keyboard/jornada680_kbd.c	2008-04-13 16:14:28.000000000 -0700
@@ -254,6 +254,7 @@ static int __devexit jornada680kbd_remov
 static struct platform_driver jornada680kbd_driver = {
 	.driver	= {
 		.name	= "jornada680_kbd",
+		.owner	= THIS_MODULE,
 	},
 	.probe	= jornada680kbd_probe,
 	.remove	= __devexit_p(jornada680kbd_remove),
@@ -275,3 +276,4 @@ module_exit(jornada680kbd_exit);
 MODULE_AUTHOR("Kristoffer Ericson <kristoffer.ericson@xxxxxxxxx>");
 MODULE_DESCRIPTION("HP Jornada 620/660/680/690 Keyboard Driver");
 MODULE_LICENSE("GPLv2");
+MODULE_ALIAS("platform:jornada680_kbd");
--- g26.orig/drivers/input/keyboard/jornada720_kbd.c	2008-04-13 16:12:01.000000000 -0700
+++ g26/drivers/input/keyboard/jornada720_kbd.c	2008-04-13 16:14:22.000000000 -0700
@@ -162,9 +162,13 @@ static int __devexit jornada720_kbd_remo
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:jornada720_kbd");
+
 static struct platform_driver jornada720_kbd_driver = {
 	.driver  = {
 		.name    = "jornada720_kbd",
+		.owner	= THIS_MODULE,
 	 },
 	.probe   = jornada720_kbd_probe,
 	.remove  = __devexit_p(jornada720_kbd_remove),
--- g26.orig/drivers/input/keyboard/omap-keypad.c	2008-04-13 16:11:53.000000000 -0700
+++ g26/drivers/input/keyboard/omap-keypad.c	2008-04-13 16:14:34.000000000 -0700
@@ -464,6 +464,7 @@ static struct platform_driver omap_kp_dr
 	.resume		= omap_kp_resume,
 	.driver		= {
 		.name	= "omap-keypad",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -484,3 +485,4 @@ module_exit(omap_kp_exit);
 MODULE_AUTHOR("Timo Teräs");
 MODULE_DESCRIPTION("OMAP Keypad Driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:omap-keypad");
--- g26.orig/drivers/input/keyboard/pxa27x_keypad.c	2008-04-13 16:12:01.000000000 -0700
+++ g26/drivers/input/keyboard/pxa27x_keypad.c	2008-04-13 16:13:37.000000000 -0700
@@ -545,6 +545,9 @@ static int __devexit pxa27x_keypad_remov
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:pxa27x-keypad");
+
 static struct platform_driver pxa27x_keypad_driver = {
 	.probe		= pxa27x_keypad_probe,
 	.remove		= __devexit_p(pxa27x_keypad_remove),
@@ -552,6 +555,7 @@ static struct platform_driver pxa27x_key
 	.resume		= pxa27x_keypad_resume,
 	.driver		= {
 		.name	= "pxa27x-keypad",
+		.owner	= THIS_MODULE,
 	},
 };
 
--- g26.orig/drivers/input/keyboard/spitzkbd.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/keyboard/spitzkbd.c	2008-04-13 16:11:55.000000000 -0700
@@ -494,3 +494,4 @@ module_exit(spitzkbd_exit);
 MODULE_AUTHOR("Richard Purdie <rpurdie@xxxxxxxxx>");
 MODULE_DESCRIPTION("Spitz Keyboard Driver");
 MODULE_LICENSE("GPLv2");
+MODULE_ALIAS("platform:spitz-keyboard");
--- g26.orig/drivers/input/keyboard/tosakbd.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/keyboard/tosakbd.c	2008-04-13 16:13:53.000000000 -0700
@@ -394,6 +394,7 @@ static struct platform_driver tosakbd_dr
 	.resume		= tosakbd_resume,
 	.driver		= {
 		.name	= "tosa-keyboard",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -413,3 +414,4 @@ module_exit(tosakbd_exit);
 MODULE_AUTHOR("Dirk Opfer <Dirk@xxxxxxxxxxxxxxx>");
 MODULE_DESCRIPTION("Tosa Keyboard Driver");
 MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:tosa-keyboard");
--- g26.orig/drivers/input/misc/cobalt_btns.c	2008-04-13 16:12:01.000000000 -0700
+++ g26/drivers/input/misc/cobalt_btns.c	2008-04-13 16:15:42.000000000 -0700
@@ -148,6 +148,9 @@ static int __devexit cobalt_buttons_remo
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:Cobalt buttons");
+
 static struct platform_driver cobalt_buttons_driver = {
 	.probe	= cobalt_buttons_probe,
 	.remove	= __devexit_p(cobalt_buttons_remove),
--- g26.orig/drivers/input/mouse/gpio_mouse.c	2008-04-13 16:12:02.000000000 -0700
+++ g26/drivers/input/mouse/gpio_mouse.c	2008-04-13 16:16:20.000000000 -0700
@@ -171,10 +171,14 @@ static int __devexit gpio_mouse_remove(s
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:gpio_mouse");
+
 struct platform_driver gpio_mouse_device_driver = {
 	.remove		= __devexit_p(gpio_mouse_remove),
 	.driver		= {
 		.name	= "gpio_mouse",
+		.owner	= THIS_MODULE,
 	}
 };
 
--- g26.orig/drivers/input/serio/rpckbd.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/serio/rpckbd.c	2008-04-13 16:16:43.000000000 -0700
@@ -45,6 +45,7 @@
 MODULE_AUTHOR("Vojtech Pavlik, Russell King");
 MODULE_DESCRIPTION("Acorn RiscPC PS/2 keyboard controller driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:kart");
 
 static int rpckbd_write(struct serio *port, unsigned char val)
 {
@@ -140,6 +141,7 @@ static struct platform_driver rpckbd_dri
 	.remove		= __devexit_p(rpckbd_remove),
 	.driver		= {
 		.name	= "kart",
+		.owner	= THIS_MODULE,
 	},
 };
 
--- g26.orig/drivers/input/touchscreen/corgi_ts.c	2008-04-13 16:11:52.000000000 -0700
+++ g26/drivers/input/touchscreen/corgi_ts.c	2008-04-13 16:16:59.000000000 -0700
@@ -361,6 +361,7 @@ static struct platform_driver corgits_dr
 	.resume		= corgits_resume,
 	.driver		= {
 		.name	= "corgi-ts",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -380,3 +381,4 @@ module_exit(corgits_exit);
 MODULE_AUTHOR("Richard Purdie <rpurdie@xxxxxxxxx>");
 MODULE_DESCRIPTION("Corgi TouchScreen Driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:corgi-ts");
--- g26.orig/drivers/input/touchscreen/jornada720_ts.c	2008-04-13 16:12:02.000000000 -0700
+++ g26/drivers/input/touchscreen/jornada720_ts.c	2008-04-13 16:17:32.000000000 -0700
@@ -160,11 +160,15 @@ static int __devexit jornada720_ts_remov
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:jornada_ts");
+
 static struct platform_driver jornada720_ts_driver = {
 	.probe		= jornada720_ts_probe,
 	.remove		= __devexit_p(jornada720_ts_remove),
 	.driver		= {
 		.name	= "jornada_ts",
+		.owner	= THIS_MODULE,
 	},
 };
 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux