summaryrefslogtreecommitdiff
path: root/arch/m68k/q40
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2012-01-22 23:27:54 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2012-01-23 00:02:31 -0800
commit409e15442fc7f7ae9d025f3ea3fdf3c60070314f (patch)
treeeac3828e0df5916e757b68f5b1fefa8488f94dc4 /arch/m68k/q40
parent3e8040b0a93cadeead148938188212ac7422a6bc (diff)
downloadlwn-409e15442fc7f7ae9d025f3ea3fdf3c60070314f.tar.gz
lwn-409e15442fc7f7ae9d025f3ea3fdf3c60070314f.zip
Input: q40kbd - convert driver to the split model
Convert the driver to standard spilt model arch-specific code registers platform device to which driver code can bind later. Also request IRQ immediately upon binding to the device instead of doing this when serio port is being opened. Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'arch/m68k/q40')
-rw-r--r--arch/m68k/q40/config.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/m68k/q40/config.c b/arch/m68k/q40/config.c
index ad10fecec2fe..be936480b964 100644
--- a/arch/m68k/q40/config.c
+++ b/arch/m68k/q40/config.c
@@ -24,6 +24,7 @@
#include <linux/rtc.h>
#include <linux/vt_kern.h>
#include <linux/bcd.h>
+#include <linux/platform_device.h>
#include <asm/io.h>
#include <asm/rtc.h>
@@ -329,3 +330,15 @@ static int q40_set_rtc_pll(struct rtc_pll_info *pll)
} else
return -EINVAL;
}
+
+static __init int q40_add_kbd_device(void)
+{
+ struct platform_device *pdev;
+
+ pdev = platform_device_register_simple("q40kbd", -1, NULL, 0);
+ if (IS_ERR(pdev))
+ return PTR_ERR(pdev);
+
+ return 0;
+}
+arch_initcall(q40_add_kbd_device);