openwrtv3/target/linux/s3c24xx/patches/0099-Convert-the-driver-to-the-generic-GPIO-framework.patch

85 lines
3.1 KiB
Diff
Executable file

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