summaryrefslogtreecommitdiff
path: root/target/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch')
-rwxr-xr-xtarget/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/target/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch b/target/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch
new file mode 100755
index 0000000000..8a4176aad3
--- /dev/null
+++ b/target/linux/s3c24xx/patches-2.6.26/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch
@@ -0,0 +1,85 @@
+From 8c90c2e17ec6ff710d28e8308c42ccd09443dae4 Mon Sep 17 00:00:00 2001
+From: Holger Freyther <zecke@openmoko.org>
+Date: Fri, 25 Jul 2008 23:06:03 +0100
+Subject: [PATCH] Convert the driver to the generic GPIO framework
+
+Signed-Off-by: Holger Freyther <zecke@openmoko.org>
+---
+ drivers/input/keyboard/neo1973kbd.c | 20 ++++++++++----------
+ 1 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/input/keyboard/neo1973kbd.c b/drivers/input/keyboard/neo1973kbd.c
+index a77d8c0..b413bc8 100644
+--- a/drivers/input/keyboard/neo1973kbd.c
++++ b/drivers/input/keyboard/neo1973kbd.c
+@@ -22,7 +22,7 @@
+ #include <linux/module.h>
+ #include <linux/slab.h>
+
+-#include <asm/hardware.h>
++#include <asm/gpio.h>
+ #include <asm/mach-types.h>
+
+ struct neo1973kbd {
+@@ -37,7 +37,7 @@ static irqreturn_t neo1973kbd_aux_irq(int irq, void *dev_id)
+ {
+ struct neo1973kbd *neo1973kbd_data = dev_id;
+
+- int key_pressed = !s3c2410_gpio_getpin(neo1973kbd_data->gpio_aux);
++ int key_pressed = !gpio_get_value(neo1973kbd_data->gpio_aux);
+ input_report_key(neo1973kbd_data->input, KEY_PHONE, key_pressed);
+ input_sync(neo1973kbd_data->input);
+
+@@ -48,7 +48,7 @@ static irqreturn_t neo1973kbd_hold_irq(int irq, void *dev_id)
+ {
+ struct neo1973kbd *neo1973kbd_data = dev_id;
+
+- int key_pressed = s3c2410_gpio_getpin(neo1973kbd_data->gpio_hold);
++ int key_pressed = gpio_get_value(neo1973kbd_data->gpio_hold);
+ input_report_key(neo1973kbd_data->input, KEY_PAUSE, key_pressed);
+ input_sync(neo1973kbd_data->input);
+
+@@ -59,7 +59,7 @@ static irqreturn_t neo1973kbd_headphone_irq(int irq, void *dev_id)
+ {
+ struct neo1973kbd *neo1973kbd_data = dev_id;
+
+- int key_pressed = s3c2410_gpio_getpin(neo1973kbd_data->gpio_jack);
++ int key_pressed = gpio_get_value(neo1973kbd_data->gpio_jack);
+ input_report_switch(neo1973kbd_data->input,
+ SW_HEADPHONE_INSERT, key_pressed);
+ input_sync(neo1973kbd_data->input);
+@@ -111,15 +111,15 @@ static int neo1973kbd_probe(struct platform_device *pdev)
+ neo1973kbd->gpio_hold = pdev->resource[1].start;
+ neo1973kbd->gpio_jack = pdev->resource[2].start;
+
+- irq_aux = s3c2410_gpio_getirq(neo1973kbd->gpio_aux);
++ irq_aux = gpio_to_irq(neo1973kbd->gpio_aux);
+ if (irq_aux < 0)
+ return -EINVAL;
+
+- irq_hold = s3c2410_gpio_getirq(neo1973kbd->gpio_hold);
++ irq_hold = gpio_to_irq(neo1973kbd->gpio_hold);
+ if (irq_hold < 0)
+ return -EINVAL;
+
+- irq_jack = s3c2410_gpio_getirq(neo1973kbd->gpio_jack);
++ irq_jack = gpio_to_irq(neo1973kbd->gpio_jack);
+ if (irq_jack < 0)
+ return -EINVAL;
+
+@@ -194,9 +194,9 @@ static int neo1973kbd_remove(struct platform_device *pdev)
+ {
+ struct neo1973kbd *neo1973kbd = platform_get_drvdata(pdev);
+
+- free_irq(s3c2410_gpio_getirq(pdev->resource[2].start), neo1973kbd);
+- free_irq(s3c2410_gpio_getirq(pdev->resource[1].start), neo1973kbd);
+- free_irq(s3c2410_gpio_getirq(pdev->resource[0].start), neo1973kbd);
++ free_irq(gpio_to_irq(pdev->resource[2].start), neo1973kbd);
++ free_irq(gpio_to_irq(pdev->resource[1].start), neo1973kbd);
++ free_irq(gpio_to_irq(pdev->resource[0].start), neo1973kbd);
+
+ input_unregister_device(neo1973kbd->input);
+ input_free_device(neo1973kbd->input);
+--
+1.5.6.3
+