i2c: mux: pca954x: Add interrupt controller support
authorPhil Reid <preid@electromag.com.au>
Wed, 25 Jan 2017 01:31:08 +0000 (09:31 +0800)
committerPeter Rosin <peda@axentia.se>
Fri, 10 Feb 2017 07:23:51 +0000 (08:23 +0100)
commitf2114795f721bd5028284ddf84b150798a9b7a73
treefa8a69ca6f27bed885bed0005cc6a04cafe1768d
parent9aedcc61ed101b4dbb7fa7013deca4a7ed7ff418
i2c: mux: pca954x: Add interrupt controller support

Various muxes can aggregate multiple interrupts from each i2c bus.
All of the muxes with interrupt support combine the active low irq lines
using an internal 'and' function and generate a combined active low
output. The muxes do provide the ability to read a control register to
determine which irq is active. By making the mux an irq controller isr
latency can potentially be reduced by reading the status register and
then only calling the registered isr on that bus segment.

As there is no irq masking on the mux irq are disabled until irq_unmask is
called at least once.

Signed-off-by: Phil Reid <preid@electromag.com.au>
Signed-off-by: Peter Rosin <peda@axentia.se>
drivers/i2c/muxes/i2c-mux-pca954x.c