ARM: gpio: consolidate gpio_to_irq
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 26 Jul 2011 10:29:42 +0000 (11:29 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 12 Aug 2011 07:54:05 +0000 (08:54 +0100)
Many of the gpio_to_irq implementations use the gpiolib version of this
function.  Provide the standard gpiolib gpio_to_irq() for everyone, but
allow platforms to override it if they wish.  Add the neccessary
overrides for those platforms which do not use the standard definition.

Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
24 files changed:
arch/arm/include/asm/gpio.h
arch/arm/mach-davinci/include/mach/gpio.h
arch/arm/mach-exynos4/include/mach/gpio.h
arch/arm/mach-ixp4xx/include/mach/gpio.h
arch/arm/mach-ks8695/include/mach/gpio.h
arch/arm/mach-lpc32xx/include/mach/gpio.h
arch/arm/mach-msm/include/mach/gpio.h
arch/arm/mach-mxs/include/mach/gpio.h
arch/arm/mach-realview/include/mach/gpio.h
arch/arm/mach-s3c2410/include/mach/gpio.h
arch/arm/mach-s3c64xx/include/mach/gpio.h
arch/arm/mach-s5p64x0/include/mach/gpio.h
arch/arm/mach-s5pc100/include/mach/gpio.h
arch/arm/mach-s5pv210/include/mach/gpio.h
arch/arm/mach-shmobile/include/mach/gpio.h
arch/arm/mach-tegra/include/mach/gpio.h
arch/arm/mach-u300/include/mach/gpio.h
arch/arm/mach-versatile/include/mach/gpio.h
arch/arm/mach-vt8500/include/mach/gpio.h
arch/arm/mach-w90x900/include/mach/gpio.h
arch/arm/plat-nomadik/include/plat/gpio.h
arch/arm/plat-omap/include/plat/gpio.h
arch/arm/plat-orion/include/plat/gpio.h
arch/arm/plat-spear/include/plat/gpio.h

index 15e8970f20f4e498cb671a1644baf2dc54f40f9b..5032224eec3db85d05dcb154510a4253a2318eba 100644 (file)
 #define gpio_cansleep   __gpio_cansleep
 #endif
 
+/*
+ * Provide a default gpio_to_irq() which should satisfy every case.
+ * However, some platforms want to do this differently, so allow them
+ * to override it.
+ */
+#ifndef gpio_to_irq
+#define gpio_to_irq    __gpio_to_irq
+#endif
+
 #endif /* _ARCH_ARM_GPIO_H */
index fbece126c2bf2f451a5983207273525be2a9d12a..73fc7a087f8351da197a44b14740ef112ade40b3 100644 (file)
@@ -147,11 +147,6 @@ static inline int gpio_cansleep(unsigned gpio)
                return __gpio_cansleep(gpio);
 }
 
-static inline int gpio_to_irq(unsigned gpio)
-{
-       return __gpio_to_irq(gpio);
-}
-
 static inline int irq_to_gpio(unsigned irq)
 {
        /* don't support the reverse mapping */
index b2e3595ae94388e0cdf91437f115e9a0f94fe2e1..b91e8b2782bcbd529cdd11d500081f2ff051cfb3 100644 (file)
@@ -13,8 +13,6 @@
 #ifndef __ASM_ARCH_GPIO_H
 #define __ASM_ARCH_GPIO_H __FILE__
 
-#define gpio_to_irq    __gpio_to_irq
-
 /* Practically, GPIO banks up to GPZ are the configurable gpio banks */
 
 /* GPIO bank sizes */
index a5f87ded2f28bd8e039d8c09ac04db6e8fc43d50..19009bf98a0effac1c8de9eb23db775389b3bd1b 100644 (file)
@@ -70,6 +70,7 @@ static inline void gpio_set_value(unsigned gpio, int value)
 #include <asm-generic/gpio.h>                  /* cansleep wrappers */
 
 extern int gpio_to_irq(int gpio);
+#define gpio_to_irq gpio_to_irq
 extern int irq_to_gpio(unsigned int irq);
 
 #endif
index c13952c22a395e11e394c1def80c1ebe12f8fdf2..59d6b53d27c03a5d05fa0a5e8a40aba024493021 100644 (file)
@@ -40,8 +40,6 @@ extern int ks8695_gpio_interrupt(unsigned int pin, unsigned int type);
  */
 extern int irq_to_gpio(unsigned int irq);
 
-#define gpio_to_irq __gpio_to_irq
-
 #define __ARM_GPIOLIB_TRIVIAL
 
 /* Register the GPIOs */
index 0ca6c2778aa732d35f22bc07614ba00513673b0c..b01cd24715dc27b5029f2e79bd888943471b915c 100644 (file)
@@ -51,9 +51,4 @@
 
 #define __ARM_GPIOLIB_TRIVIAL
 
-static inline int gpio_to_irq(unsigned gpio)
-{
-       return __gpio_to_irq(gpio);
-}
-
 #endif
index bc75e2041144bc017046c253c26b505b53f62f66..10197a9e9d90e485231be2bbe66afed1d4477aa9 100644 (file)
@@ -18,6 +18,4 @@
 
 #define __ARM_GPIOLIB_TRIVIAL
 
-#define gpio_to_irq     __gpio_to_irq
-
 #endif /* __ASM_ARCH_MSM_GPIO_H */
index bb44c8dcf31ceec5112e1d8ec5f58e95169042b3..bf28a1f8dc4824789625436a160c50afea034f4d 100644 (file)
@@ -24,7 +24,6 @@
 
 /* use gpiolib dispatchers */
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq            __gpio_to_irq
 
 #define irq_to_gpio(irq)       ((irq) - MXS_GPIO_IRQ_START)
 
index bd11dc503cce708c3e4cca5cb829d5bd2565a95e..910974bbd83b64911b9d4522ee97ebc41c46139b 100644 (file)
@@ -1,2 +1 @@
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
index 998ef4c41de89e70a098703ab5172bad04e16413..d502d17d46bf4540ebb3c7d7e6cebd1af000a221 100644 (file)
@@ -12,7 +12,6 @@
 */
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 /* some boards require extra gpio capacity to support external
  * devices that need GPIO.
index 6958b3fe5255f4009f5803ff067309575f6284b8..3a8857c68e4d9df4fd5c35504b1bf6afe6417306 100644 (file)
@@ -13,7 +13,6 @@
 */
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 /* GPIO bank sizes */
 #define S3C64XX_GPIO_A_NR      (8)
index a25160b426dd9fd6a25f9cfc0b2fc344e394c156..c3a6aa0c472fae7603c44b874e855b999b42fe24 100644 (file)
@@ -14,7 +14,6 @@
 #define __ASM_ARCH_GPIO_H __FILE__
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 /* GPIO bank sizes */
 
index f515bfb964a62e74d5223ebdd956077a6f68ef02..0e75641249c780e62cd2fe626326de6ba17d29a7 100644 (file)
@@ -16,7 +16,6 @@
 #define __ASM_ARCH_GPIO_H __FILE__
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 /* GPIO bank sizes */
 #define S5PC100_GPIO_A0_NR     (8)
index 27f2139df311afeffb5c840af4bca1fd17ace864..d348ee2cb0ac8e5f00c59161732ad7fdc61554e4 100644 (file)
@@ -14,7 +14,6 @@
 #define __ASM_ARCH_GPIO_H __FILE__
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 /* Practically, GPIO banks up to MP03 are the configurable gpio banks */
 
index e8feff014d9968e91e4445027c5dcfb5db7a4d48..95e11cfe4e414575b973555fbca8f83bbed0dc17 100644 (file)
 
 #define __ARM_GPIOLIB_TRIVIAL
 
-static inline int gpio_to_irq(unsigned gpio)
-{
-       return __gpio_to_irq(gpio);
-}
-
 static inline int irq_to_gpio(unsigned int irq)
 {
        return -ENOSYS;
index d51be09fe3ada29b95b8777c70152921352b40a0..51072238d85a69d4d60f649d402354728485d9a2 100644 (file)
@@ -36,6 +36,7 @@ static inline int gpio_to_irq(unsigned int gpio)
                return INT_GPIO_BASE + gpio;
        return -EINVAL;
 }
+#define gpio_to_irq gpio_to_irq
 
 static inline int irq_to_gpio(unsigned int irq)
 {
index d5a71abcbaeaf5a8da0255e50e89f5982fd447d4..3d7b7d1291e2b73b36fb167a8b5043a5b8d3c64f 100644 (file)
@@ -281,6 +281,7 @@ static inline unsigned gpio_to_irq(unsigned gpio)
 {
        return PIN_TO_PORT(gpio) + IRQ_U300_GPIO_PORT0;
 }
+#define gpio_to_irq gpio_to_irq
 
 static inline unsigned irq_to_gpio(unsigned irq)
 {
index bd11dc503cce708c3e4cca5cb829d5bd2565a95e..910974bbd83b64911b9d4522ee97ebc41c46139b 100644 (file)
@@ -1,2 +1 @@
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
index bd11dc503cce708c3e4cca5cb829d5bd2565a95e..910974bbd83b64911b9d4522ee97ebc41c46139b 100644 (file)
@@ -1,2 +1 @@
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
index 60c784619b2bbe6cbb27e54e8494d88d7c3eaea8..e7d4ed1568029f81acc4c557d09dee1d1415d7b7 100644 (file)
@@ -22,6 +22,7 @@ static inline int gpio_to_irq(unsigned gpio)
 {
        return gpio;
 }
+#define gpio_to_irq gpio_to_irq
 
 static inline int irq_to_gpio(unsigned irq)
 {
index c804c3474c8523278ac9e3fe7de652cd00728ce1..d2c4290317d928da5b74908d3bfac86d29902657 100644 (file)
@@ -15,7 +15,6 @@
 #include <linux/kernel.h>
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq     __gpio_to_irq
 
 /*
  * "nmk_gpio" and "NMK_GPIO" stand for "Nomadik GPIO", leaving
index 20eedbbcdcb552804ca25ab340f3e3be12e89355..f1fdfa5a9cf8e16b6ad522479dee01e89388653e 100644 (file)
@@ -224,11 +224,6 @@ extern void omap_gpio_restore_context(void);
 
 #define __ARM_GPIOLIB_TRIVIAL
 
-static inline int gpio_to_irq(unsigned gpio)
-{
-       return __gpio_to_irq(gpio);
-}
-
 static inline int irq_to_gpio(unsigned irq)
 {
        int tmp;
index 71c4c6c28e5618cb26a8b29afaea6f7e8ae1f0a7..985c197aecc373645780148aa0e4d1c32291ccef 100644 (file)
 
 #define __ARM_GPIOLIB_TRIVIAL
 
-/*
- * GENERIC_GPIO primitives.
- */
-#define gpio_to_irq     __gpio_to_irq
-
 /*
  * Orion-specific GPIO API extensions.
  */
index 3c6f04403d9bc7f3a04f36d26991eadc9a528970..22d9e0fc1fccb3aefaa8b3c8783773d02728e499 100644 (file)
@@ -15,6 +15,5 @@
 #define __PLAT_GPIO_H
 
 #define __ARM_GPIOLIB_TRIVIAL
-#define gpio_to_irq    __gpio_to_irq
 
 #endif /* __PLAT_GPIO_H */