Thread (26 messages) 26 messages, 2 authors, 2012-03-09

[PATCH v3 13/13] gpio/omap: fix incorrect update to context.irqenable1

flat view
STALE5324d REVIEWED: 1 (0M)

From: Santosh Shilimkar <hidden>
Date: 2012-03-07 12:09:04
Also in: linux-omap

1 review trailer.

On Wednesday 07 March 2012 12:16 PM, Tarun Kanti DebBarma wrote:
In _enable_gpio_irqbank() when bank->regs->set_irqenable is valid,
gpio_mask can be directly set by writing to set_irqenable register
without overwriting current value. In order to ensure the same is
stored in context.irqenable1, we must read from regs->irqenable
instead of overwriting it with gpio_mask.
The overwriting makes sense only in the second case where irqenable
is explicitly read and updated with new gpio_mask before writing it
back. However, for consistency reading regs->irqenable into the
bank->context.irqenable1 takes care of both the scenarios.

        if (bank->regs->set_irqenable) {
                reg += bank->regs->set_irqenable;
                l = gpio_mask;
        } else {
                reg += bank->regs->irqenable;
                l = __raw_readl(reg);
                if (bank->regs->irqenable_inv)
                        l &= ~gpio_mask;
                else
                        l |= gpio_mask;
        }

Make the same change for _disable_gpio_irqbank().

Signed-off-by: Tarun Kanti DebBarma <redacted>
---
OK.
Reviewed-by: Santosh Shilimkar <redacted>

Regards
Santosh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help