aboutsummaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorThomas Abraham2013-06-25 09:20:08 -0700
committerDmitry Torokhov2013-06-25 09:46:29 -0700
commit41cc2aaf802ee21a3eb2c4bcb6995b3bb975bf87 (patch)
tree5f0b46b85afba797c61828ac603be4e901c65f44 /drivers/input
parentbe66227151c0cd4da536098c3ee07809101c6faa (diff)
Input: samsung-keypad - let device core setup the default pin configuration
With device core now able to setup the default pin configuration, the pin configuration code based on the deprecated Samsung specific gpio bindings is removed. Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/keyboard/samsung-keypad.c52
1 files changed, 2 insertions, 50 deletions
diff --git a/drivers/input/keyboard/samsung-keypad.c b/drivers/input/keyboard/samsung-keypad.c
index 22e357b51024..03bdad771d2d 100644
--- a/drivers/input/keyboard/samsung-keypad.c
+++ b/drivers/input/keyboard/samsung-keypad.c
@@ -24,7 +24,6 @@
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/of.h>
-#include <linux/of_gpio.h>
#include <linux/sched.h>
#include <linux/input/samsung-keypad.h>
@@ -79,10 +78,6 @@ struct samsung_keypad {
unsigned int rows;
unsigned int cols;
unsigned int row_state[SAMSUNG_MAX_COLS];
-#ifdef CONFIG_OF
- int row_gpios[SAMSUNG_MAX_ROWS];
- int col_gpios[SAMSUNG_MAX_COLS];
-#endif
unsigned short keycodes[];
};
@@ -304,45 +299,6 @@ static struct samsung_keypad_platdata *samsung_keypad_parse_dt(
return pdata;
}
-
-static void samsung_keypad_parse_dt_gpio(struct device *dev,
- struct samsung_keypad *keypad)
-{
- struct device_node *np = dev->of_node;
- int gpio, error, row, col;
-
- for (row = 0; row < keypad->rows; row++) {
- gpio = of_get_named_gpio(np, "row-gpios", row);
- keypad->row_gpios[row] = gpio;
- if (!gpio_is_valid(gpio)) {
- dev_err(dev, "keypad row[%d]: invalid gpio %d\n",
- row, gpio);
- continue;
- }
-
- error = devm_gpio_request(dev, gpio, "keypad-row");
- if (error)
- dev_err(dev,
- "keypad row[%d] gpio request failed: %d\n",
- row, error);
- }
-
- for (col = 0; col < keypad->cols; col++) {
- gpio = of_get_named_gpio(np, "col-gpios", col);
- keypad->col_gpios[col] = gpio;
- if (!gpio_is_valid(gpio)) {
- dev_err(dev, "keypad column[%d]: invalid gpio %d\n",
- col, gpio);
- continue;
- }
-
- error = devm_gpio_request(dev, gpio, "keypad-col");
- if (error)
- dev_err(dev,
- "keypad column[%d] gpio request failed: %d\n",
- col, error);
- }
-}
#else
static
struct samsung_keypad_platdata *samsung_keypad_parse_dt(struct device *dev)
@@ -424,15 +380,11 @@ static int samsung_keypad_probe(struct platform_device *pdev)
keypad->stopped = true;
init_waitqueue_head(&keypad->wait);
- if (pdev->dev.of_node) {
-#ifdef CONFIG_OF
- samsung_keypad_parse_dt_gpio(&pdev->dev, keypad);
+ if (pdev->dev.of_node)
keypad->type = of_device_is_compatible(pdev->dev.of_node,
"samsung,s5pv210-keypad");
-#endif
- } else {
+ else
keypad->type = platform_get_device_id(pdev)->driver_data;
- }
input_dev->name = pdev->name;
input_dev->id.bustype = BUS_HOST;