[PATCH] Gemini: wrong registers used to set reg_level in gpio_set_irq_type()?
Paulius Zaleckas
paulius.zaleckas at gmail.com
Sun Jan 17 14:37:52 EST 2010
On 01/14/2010 11:11 PM, Roel Kluin wrote:
> It appears the wrong GPIO registers were used
>
> Signed-off-by: Roel Kluin<roel.kluin at gmail.com>
> ---
> 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.
> diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c
> index e726385..fe3bd5a 100644
> --- a/arch/arm/mach-gemini/gpio.c
> +++ b/arch/arm/mach-gemini/gpio.c
> @@ -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);
More information about the linux-arm-kernel
mailing list