MCP23S08 Interrupts Fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux