gpio:mcp23s08 Fixed missing interrupts
commit 2cd29f23 upstream. When an interrupt occurs on an MCP23S08 chip, the INTF register will only contain one bit as causing the interrupt. If more than two pins change at the same time on the chip, this causes one of the pins to not be reported. This patch fixes the logic for checking if a pin has changed, so that multiple pins will always cause more than one change. Signed-off-by: Robert Middleton <robert.middleton@rm5248.com> Tested-by: Phil Reid <preid@electromag.com.au> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [bwh: Backported to 3.16: - No support for level-triggered interrupts - Use mcp->ops->read instead of mcp_read() - Device pointer for logging is mcp->chip.dev] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Showing
Please register or sign in to comment