X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fatheros%2Fpatches-3.14%2F100-board.patch;fp=target%2Flinux%2Fatheros%2Fpatches-3.14%2F100-board.patch;h=1467fb817a71c8c5902dadd35cad96ab85f58a29;hb=d780abcbbc801a2c159ae320370c6649fdb0f92a;hp=7097cfddd3800cedc87148945c490ed948592fba;hpb=6f874d84d503e235518a6e15873a174478ebf4b2;p=openwrt%2Fopenwrt.git diff --git a/target/linux/atheros/patches-3.14/100-board.patch b/target/linux/atheros/patches-3.14/100-board.patch index 7097cfddd3..1467fb817a 100644 --- a/target/linux/atheros/patches-3.14/100-board.patch +++ b/target/linux/atheros/patches-3.14/100-board.patch @@ -603,36 +603,22 @@ +#endif /* __ASM_MACH_AR231X_DMA_COHERENCE_H */ --- /dev/null +++ b/arch/mips/include/asm/mach-ar231x/gpio.h -@@ -0,0 +1,30 @@ +@@ -0,0 +1,16 @@ +#ifndef __ASM_MACH_AR231X_GPIO_H +#define __ASM_MACH_AR231X_GPIO_H + -+#include ++#include + +#define gpio_get_value __gpio_get_value +#define gpio_set_value __gpio_set_value +#define gpio_cansleep __gpio_cansleep ++#define gpio_to_irq __gpio_to_irq + -+/* -+ * Wrappers for the generic GPIO layer -+ */ -+ -+/* not sure if these are used? */ -+ -+/* Returns IRQ to attach for gpio. Unchecked function */ -+static inline int gpio_to_irq(unsigned gpio) -+{ -+ return AR231X_GPIO_IRQ(gpio); -+} -+ -+/* Returns gpio for IRQ attached. Unchecked function */ +static inline int irq_to_gpio(unsigned irq) +{ -+ return irq - AR231X_GPIO_IRQ(0); ++ return -EINVAL; +} + -+#include /* cansleep wrappers */ -+ +#endif /* __ASM_MACH_AR231X_GPIO_H */ --- /dev/null +++ b/arch/mips/include/asm/mach-ar231x/reset.h @@ -2096,7 +2082,7 @@ + --- /dev/null +++ b/arch/mips/ar231x/ar2315.c -@@ -0,0 +1,562 @@ +@@ -0,0 +1,568 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive @@ -2349,12 +2335,18 @@ + return 0; +} + ++static int ar2315_gpio_to_irq(struct gpio_chip *chip, unsigned gpio) ++{ ++ return AR231X_GPIO_IRQ_BASE + gpio; ++} ++ +static struct gpio_chip ar2315_gpio_chip = { + .label = "ar2315-gpio", + .direction_input = ar2315_gpio_direction_input, + .direction_output = ar2315_gpio_direction_output, + .set = ar2315_gpio_set_value, + .get = ar2315_gpio_get_value, ++ .to_irq = ar2315_gpio_to_irq, + .base = 0, + .ngpio = AR2315_NUM_GPIO, /* 22 */ +}; @@ -2741,7 +2733,7 @@ +#endif --- /dev/null +++ b/arch/mips/include/asm/mach-ar231x/ar231x.h -@@ -0,0 +1,43 @@ +@@ -0,0 +1,39 @@ +#ifndef __ASM_MACH_AR231X_H +#define __ASM_MACH_AR231X_H + @@ -2755,10 +2747,6 @@ +#define AR231X_IRQ_NONE (MIPS_CPU_IRQ_BASE+0) +#define AR231X_IRQ_CPU_CLOCK (MIPS_CPU_IRQ_BASE+7) /* C0_CAUSE: 0x8000 */ + -+/* GPIO Interrupts, share ARXXXX_MISC_IRQ_GPIO */ -+#define AR231X_GPIO_IRQ_NONE (AR231X_GPIO_IRQ_BASE+0) -+#define AR231X_GPIO_IRQ(n) (AR231X_GPIO_IRQ_BASE+n) -+ +static inline u32 +ar231x_read_reg(u32 reg) +{