Input: samsung-keypad - enable compiling on other platforms
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 8 Nov 2011 07:59:41 +0000 (23:59 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 15 Nov 2011 17:46:14 +0000 (09:46 -0800)
There is nothing in keypad platform definitions that requires
the driver be complied on Samsung platform only, so let's move them
out of the platform subdirectory and relax the dependencies.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
arch/arm/plat-samsung/include/plat/keypad.h
drivers/input/keyboard/Kconfig
drivers/input/keyboard/samsung-keypad.c
include/linux/input/samsung-keypad.h [new file with mode: 0644]

index b59a6483cd8a85fa3c5b8253f69a3a22c7753df5..c81ace332a1ea102721e50a3ba2162381193c9ef 100644 (file)
 #ifndef __PLAT_SAMSUNG_KEYPAD_H
 #define __PLAT_SAMSUNG_KEYPAD_H
 
-#include <linux/input/matrix_keypad.h>
-
-#define SAMSUNG_MAX_ROWS       8
-#define SAMSUNG_MAX_COLS       8
-
-/**
- * struct samsung_keypad_platdata - Platform device data for Samsung Keypad.
- * @keymap_data: pointer to &matrix_keymap_data.
- * @rows: number of keypad row supported.
- * @cols: number of keypad col supported.
- * @no_autorepeat: disable key autorepeat.
- * @wakeup: controls whether the device should be set up as wakeup source.
- * @cfg_gpio: configure the GPIO.
- *
- * Initialisation data specific to either the machine or the platform
- * for the device driver to use or call-back when configuring gpio.
- */
-struct samsung_keypad_platdata {
-       const struct matrix_keymap_data *keymap_data;
-       unsigned int rows;
-       unsigned int cols;
-       bool no_autorepeat;
-       bool wakeup;
-
-       void (*cfg_gpio)(unsigned int rows, unsigned int cols);
-};
+#include <linux/input/samsung-keypad.h>
 
 /**
  * samsung_keypad_set_platdata - Set platform data for Samsung Keypad device.
index 90d5f0a8f8829fadf93cf3cb6ac44689aa8a850d..cdc385b2cf7d2c2941e87b799f0f3ea50e9e7d5a 100644 (file)
@@ -441,9 +441,10 @@ config KEYBOARD_PMIC8XXX
 
 config KEYBOARD_SAMSUNG
        tristate "Samsung keypad support"
-       depends on SAMSUNG_DEV_KEYPAD
+       depends on HAVE_CLK
        help
-         Say Y here if you want to use the Samsung keypad.
+         Say Y here if you want to use the keypad on your Samsung mobile
+         device.
 
          To compile this driver as a module, choose M here: the
          module will be called samsung-keypad.
index d244fdf9ecdfe1227fb09518d7b0d0459f7a308b..1a2b755564f26dfd6dee704e18dfb9bec982ae84 100644 (file)
@@ -22,7 +22,7 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <linux/sched.h>
-#include <plat/keypad.h>
+#include <linux/input/samsung-keypad.h>
 
 #define SAMSUNG_KEYIFCON                       0x00
 #define SAMSUNG_KEYIFSTSCLR                    0x04
diff --git a/include/linux/input/samsung-keypad.h b/include/linux/input/samsung-keypad.h
new file mode 100644 (file)
index 0000000..f25619b
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Samsung Keypad platform data definitions
+ *
+ * Copyright (C) 2010 Samsung Electronics Co.Ltd
+ * Author: Joonyoung Shim <jy0922.shim@samsung.com>
+ *
+ * This program is free software; you can redistribute  it and/or modify it
+ * under  the terms of  the GNU General  Public License as published by the
+ * Free Software Foundation;  either version 2 of the  License, or (at your
+ * option) any later version.
+ */
+
+#ifndef __SAMSUNG_KEYPAD_H
+#define __SAMSUNG_KEYPAD_H
+
+#include <linux/input/matrix_keypad.h>
+
+#define SAMSUNG_MAX_ROWS       8
+#define SAMSUNG_MAX_COLS       8
+
+/**
+ * struct samsung_keypad_platdata - Platform device data for Samsung Keypad.
+ * @keymap_data: pointer to &matrix_keymap_data.
+ * @rows: number of keypad row supported.
+ * @cols: number of keypad col supported.
+ * @no_autorepeat: disable key autorepeat.
+ * @wakeup: controls whether the device should be set up as wakeup source.
+ * @cfg_gpio: configure the GPIO.
+ *
+ * Initialisation data specific to either the machine or the platform
+ * for the device driver to use or call-back when configuring gpio.
+ */
+struct samsung_keypad_platdata {
+       const struct matrix_keymap_data *keymap_data;
+       unsigned int rows;
+       unsigned int cols;
+       bool no_autorepeat;
+       bool wakeup;
+
+       void (*cfg_gpio)(unsigned int rows, unsigned int cols);
+};
+
+#endif /* __SAMSUNG_KEYPAD_H */