diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/gpio.c b/target/linux/ar71xx/files/arch/mips/ar71xx/gpio.c
index eca3b5b76a9f123bb47c12e9e0e7c771e3eb822c..91c838345d2ae05a7965d05b121795d3fa364a52 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/gpio.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/gpio.c
@@ -288,3 +288,15 @@ void __init ar71xx_gpio_init(void)
 	if (err)
 		panic("cannot add AR71xx GPIO chip, error=%d", err);
 }
+
+int gpio_to_irq(unsigned gpio)
+{
+	return AR71XX_GPIO_IRQ(gpio);
+}
+EXPORT_SYMBOL(gpio_to_irq);
+
+int irq_to_gpio(unsigned irq)
+{
+	return irq - AR71XX_GPIO_IRQ_BASE;
+}
+EXPORT_SYMBOL(irq_to_gpio);
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/gpio.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/gpio.h
index 6354d68cf3ea0b0322831244b8318a2d939fc3ef..56fe902e260e6f4fe46b1f57dfbe5cc312e0f066 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/gpio.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/gpio.h
@@ -16,21 +16,11 @@
 #define ARCH_NR_GPIOS	64
 #include <asm-generic/gpio.h>
 
-#include <asm/mach-ar71xx/ar71xx.h>
-
 extern unsigned long ar71xx_gpio_count;
 extern void __ar71xx_gpio_set_value(unsigned gpio, int value);
 extern int __ar71xx_gpio_get_value(unsigned gpio);
-
-static inline int gpio_to_irq(unsigned gpio)
-{
-	return AR71XX_GPIO_IRQ(gpio);
-}
-
-static inline int irq_to_gpio(unsigned irq)
-{
-	return irq - AR71XX_GPIO_IRQ_BASE;
-}
+int gpio_to_irq(unsigned gpio);
+int irq_to_gpio(unsigned gpio);
 
 static inline int gpio_get_value(unsigned gpio)
 {