gpio: tegra: configure debouncing of key only for T210
[linux-3.10.git] / drivers / gpio / gpio-ep93xx.c
index fbd6a60..56b98ee 100644 (file)
@@ -12,9 +12,8 @@
  *  published by the Free Software Foundation.
  */
 
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
 #include <linux/init.h>
+#include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/gpio.h>
@@ -23,6 +22,9 @@
 #include <linux/basic_mmio_gpio.h>
 
 #include <mach/hardware.h>
+#include <mach/gpio-ep93xx.h>
+
+#define irq_to_gpio(irq)       ((irq) - gpio_to_irq(0))
 
 struct ep93xx_gpio {
        void __iomem            *mmio_base;
@@ -61,11 +63,6 @@ static void ep93xx_gpio_update_int_params(unsigned port)
                EP93XX_GPIO_REG(int_en_register_offset[port]));
 }
 
-static inline void ep93xx_gpio_int_mask(unsigned line)
-{
-       gpio_int_unmasked[line >> 3] &= ~(1 << (line & 7));
-}
-
 static void ep93xx_gpio_int_debounce(unsigned int irq, bool enable)
 {
        int line = irq_to_gpio(irq);
@@ -208,7 +205,6 @@ static int ep93xx_gpio_irq_type(struct irq_data *d, unsigned int type)
                handler = handle_edge_irq;
                break;
        default:
-               pr_err("failed to set irq type %d for gpio %d\n", type, gpio);
                return -EINVAL;
        }
 
@@ -329,7 +325,7 @@ static int ep93xx_gpio_add_bank(struct bgpio_chip *bgc, struct device *dev,
        void __iomem *dir =  mmio_base + bank->dir;
        int err;
 
-       err = bgpio_init(bgc, dev, 1, data, NULL, NULL, dir, NULL, false);
+       err = bgpio_init(bgc, dev, 1, data, NULL, NULL, dir, NULL, 0);
        if (err)
                return err;
 
@@ -344,7 +340,7 @@ static int ep93xx_gpio_add_bank(struct bgpio_chip *bgc, struct device *dev,
        return gpiochip_add(&bgc->gc);
 }
 
-static int __devinit ep93xx_gpio_probe(struct platform_device *pdev)
+static int ep93xx_gpio_probe(struct platform_device *pdev)
 {
        struct ep93xx_gpio *ep93xx_gpio;
        struct resource *res;
@@ -374,13 +370,6 @@ static int __devinit ep93xx_gpio_probe(struct platform_device *pdev)
        }
        ep93xx_gpio->mmio_base = mmio;
 
-       /* Default all ports to GPIO */
-       ep93xx_devcfg_set_bits(EP93XX_SYSCON_DEVCFG_KEYS |
-                              EP93XX_SYSCON_DEVCFG_GONK |
-                              EP93XX_SYSCON_DEVCFG_EONIDE |
-                              EP93XX_SYSCON_DEVCFG_GONIDE |
-                              EP93XX_SYSCON_DEVCFG_HONIDE);
-
        for (i = 0; i < ARRAY_SIZE(ep93xx_gpio_banks); i++) {
                struct bgpio_chip *bgc = &ep93xx_gpio->bgc[i];
                struct ep93xx_gpio_bank *bank = &ep93xx_gpio_banks[i];