All of lore.kernel.org
 help / color / mirror / Atom feed
* MCP23S08 Interrupts Fix
@ 2017-02-11 20:02 robert.middleton
  2017-02-11 20:02 ` [PATCH] gpio:mcp23s08 Fixed missing interrupts robert.middleton
  0 siblings, 1 reply; 9+ messages in thread
From: robert.middleton @ 2017-02-11 20:02 UTC (permalink / raw)
  To: linux-gpio

This patch fixes the mcp23s08 interrupt logic so that when multiple pins are 
changed at the same time, the proper number of pin changes are reported.  
Without this patch, if more than one pin is changed at a time on the mcp23s08, 
the kernel will only report back the pin that actually caused the interrupt.  
The second pin that changed at the same time will not report a change.  This 
causes issues when both pins are being watched via their file descriptors in 
a poll(), since only one of the pins being watched will report a change.

Note that I had to break up some of the logic in the IRQ handler so that I 
could follow the code - this may not be compliant with the kernel coding 
standards.

This patch is against 4.9.9, although it should still apply without any issues 
to newer code.

-Robert Middleton


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-02-22  0:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-11 20:02 MCP23S08 Interrupts Fix robert.middleton
2017-02-11 20:02 ` [PATCH] gpio:mcp23s08 Fixed missing interrupts robert.middleton
2017-02-13  5:15   ` Phil Reid
2017-02-13 16:25     ` Robert Middleton
2017-02-14  1:12       ` Phil Reid
2017-02-15  2:37         ` Robert Middleton
2017-02-15  6:37           ` Phil Reid
2017-02-21 17:34             ` Robert Middleton
2017-02-22  0:56               ` Phil Reid

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.