summaryrefslogtreecommitdiffstats
path: root/arch/m68k/q40
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2012-01-23 08:27:54 +0100
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2012-01-23 09:02:31 +0100
commit409e15442fc7f7ae9d025f3ea3fdf3c60070314f (patch)
treeeac3828e0df5916e757b68f5b1fefa8488f94dc4 /arch/m68k/q40
parentInput: at32psif - convert to dev_pm_ops (diff)
downloadlinux-409e15442fc7f7ae9d025f3ea3fdf3c60070314f.tar.xz
linux-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);