From 4b1af3131a97c004c8cdc74b61fbdd00d3ab22e4 Mon Sep 17 00:00:00 2001 From: Holger Freyther Date: Fri, 25 Jul 2008 23:06:03 +0100 Subject: [PATCH] Fix the FIXME, store the GPIO value for now Signed-Off-by: Holger Freyther --- drivers/input/keyboard/neo1973kbd.c | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/input/keyboard/neo1973kbd.c b/drivers/input/keyboard/neo1973kbd.c index 30f324d..a77d8c0 100644 --- a/drivers/input/keyboard/neo1973kbd.c +++ b/drivers/input/keyboard/neo1973kbd.c @@ -23,20 +23,21 @@ #include #include -#include #include struct neo1973kbd { struct input_dev *input; unsigned int suspended; + int gpio_aux; + int gpio_hold; + int gpio_jack; }; static irqreturn_t neo1973kbd_aux_irq(int irq, void *dev_id) { struct neo1973kbd *neo1973kbd_data = dev_id; - /* FIXME: use GPIO from platform_dev resources */ - int key_pressed = !s3c2410_gpio_getpin(GTA01_GPIO_AUX_KEY); + int key_pressed = !s3c2410_gpio_getpin(neo1973kbd_data->gpio_aux); input_report_key(neo1973kbd_data->input, KEY_PHONE, key_pressed); input_sync(neo1973kbd_data->input); @@ -47,8 +48,7 @@ static irqreturn_t neo1973kbd_hold_irq(int irq, void *dev_id) { struct neo1973kbd *neo1973kbd_data = dev_id; - /* FIXME: use GPIO from platform_dev resources */ - int key_pressed = 3c2410_gpio_getpin(GTA01_GPIO_HOLD_KEY); + int key_pressed = s3c2410_gpio_getpin(neo1973kbd_data->gpio_hold); input_report_key(neo1973kbd_data->input, KEY_PAUSE, key_pressed); input_sync(neo1973kbd_data->input); @@ -59,8 +59,7 @@ static irqreturn_t neo1973kbd_headphone_irq(int irq, void *dev_id) { struct neo1973kbd *neo1973kbd_data = dev_id; - /* FIXME: use GPIO from platform_dev resources */ - int key_pressed = s3c2410_gpio_getpin(GTA01_GPIO_JACK_INSERT); + int key_pressed = s3c2410_gpio_getpin(neo1973kbd_data->gpio_jack); input_report_switch(neo1973kbd_data->input, SW_HEADPHONE_INSERT, key_pressed); input_sync(neo1973kbd_data->input); @@ -108,15 +107,19 @@ static int neo1973kbd_probe(struct platform_device *pdev) if (pdev->resource[0].flags != 0) return -EINVAL; - irq_aux = s3c2410_gpio_getirq(pdev->resource[0].start); + neo1973kbd->gpio_aux = pdev->resource[0].start; + neo1973kbd->gpio_hold = pdev->resource[1].start; + neo1973kbd->gpio_jack = pdev->resource[2].start; + + irq_aux = s3c2410_gpio_getirq(neo1973kbd->gpio_aux); if (irq_aux < 0) return -EINVAL; - irq_hold = s3c2410_gpio_getirq(pdev->resource[1].start); + irq_hold = s3c2410_gpio_getirq(neo1973kbd->gpio_hold); if (irq_hold < 0) return -EINVAL; - irq_jack = s3c2410_gpio_getirq(pdev->resource[2].start); + irq_jack = s3c2410_gpio_getirq(neo1973kbd->gpio_jack); if (irq_jack < 0) return -EINVAL; -- 1.5.6.3