Gemini: wrong registers used to set reg_level in gpio_set_irq_type()?
PATCH 1/1 Gemini: wrong registers used to set reg_level in gpio_set_irq_type()?
It appears the wrong GPIO registers were used
Signed-off-by Roel Kluin <[email protected]>
---
I am not sure whether this is right so please review.
arch/arm/mach-gemini/gpio.c +2 -2
@@ -86,7 +86,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type)unsigned int reg_both, reg_level, reg_type; reg_type =__raw_readl (base +GPIO_INT_TYPE ); - reg_level =__raw_readl (base +GPIO_INT_BOTH_EDGE ); + reg_level =__raw_readl (base +GPIO_INT_LEVEL ); reg_both =__raw_readl (base +GPIO_INT_BOTH_EDGE );switch (type) {
@@ -117,7 +117,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) }__raw_writel (reg_type, base +GPIO_INT_TYPE ); -__raw_writel (reg_level, base +GPIO_INT_BOTH_EDGE ); +__raw_writel (reg_level, base +GPIO_INT_LEVEL );__raw_writel (reg_both, base +GPIO_INT_BOTH_EDGE );gpio_ack_irq (irq);
Quoted 5 lines · Roel Kluin
It appears the wrong GPIO registers were used
Signed-off-by Roel Kluin<[email protected]>---
I am not sure whether this is right so please review.
Yes, you are right. Thanks for spotting.
I put this patch in my queue.
Quoted 22 lines
arch/arm/mach-gemini/gpio.c +2
-2@@ -86,7 +86,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type)unsigned int reg_both, reg_level, reg_type; reg_type =__raw_readl (base +GPIO_INT_TYPE ); - reg_level =__raw_readl (base +GPIO_INT_BOTH_EDGE ); + reg_level =__raw_readl (base +GPIO_INT_LEVEL ); reg_both =__raw_readl (base +GPIO_INT_BOTH_EDGE );switch (type) {@@ -117,7 +117,7 @@ static int gpio_set_irq_type(unsigned int irq, unsigned int type) }__raw_writel (reg_type, base +GPIO_INT_TYPE ); -__raw_writel (reg_level, base +GPIO_INT_BOTH_EDGE ); +__raw_writel (reg_level, base +GPIO_INT_LEVEL );__raw_writel (reg_both, base +GPIO_INT_BOTH_EDGE );gpio_ack_irq (irq);