aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch
diff options
context:
space:
mode:
authorMirko Vogt <mirko@openwrt.org>2008-12-12 11:58:53 +0000
committerMirko Vogt <mirko@openwrt.org>2008-12-12 11:58:53 +0000
commitfac7f7f84f3771c5247c7fdee825c092077984f5 (patch)
tree54644c1229434d7ee13c5872bda4129e34337fc0 /target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch
parenta34279723a9cf0796f9261f2fb90bea18cd95711 (diff)
downloadupstream-fac7f7f84f3771c5247c7fdee825c092077984f5.tar.gz
upstream-fac7f7f84f3771c5247c7fdee825c092077984f5.tar.bz2
upstream-fac7f7f84f3771c5247c7fdee825c092077984f5.zip
changed Makefile and profiles, added patches for kernel 2.6.24
(stable-branch of Openmoko) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13613 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch')
-rw-r--r--target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch b/target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch
new file mode 100644
index 0000000000..3f91d3a470
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.24/1108-Fix-the-FIXME-store-the-GPIO-value-for-now.patch
@@ -0,0 +1,85 @@
+From 897d69be643b8a8616b1c912444993a54f095917 Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@openmoko.org>
+Date: Sun, 13 Apr 2008 07:25:53 +0100
+Subject: [PATCH] Fix the FIXME, store the GPIO value for now
+
+Signed-Off-by: Holger Freyther <zecke@openmoko.org>
+---
+ 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 <linux/slab.h>
+
+ #include <asm/hardware.h>
+-#include <asm/arch/gta01.h>
+ #include <asm/mach-types.h>
+
+ 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.5
+