gpio: mcp23s08: Add support for mcp23s18
authorPhil Reid <preid@electromag.com.au>
Tue, 1 Mar 2016 06:25:41 +0000 (14:25 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 9 Mar 2016 02:50:37 +0000 (09:50 +0700)
commit28c5a41e4aa44f162297d596030900b90aa1cf08
treeb17ea91d50725d924ed7f6f9db4bff1b81ef3fbd
parentdf2e90551b7db4b5a4da5eaa78742f47f2799aa2
gpio: mcp23s08: Add support for mcp23s18

This patch adds support for the mcp23s18 which is very similar to
the mcp23s17. A couple of control bits are not the same.
Notable IOCON_HAEN (s17 only) & IOCON_INTCC. Which can be ignored.

Patch changes the following:
- Add mcp23s18 types.
- Always set mirror bit if the dts defines mcp23s18. regardless of type.
  Mirror bit is ignored on 8 bit devices anyway.
- In mcp23s08_probe use chip.ngpio instead of logic based on type
  to determine number of gpio lins to increment by. This is set
  appropiately by the call to mcp23s08_probe_one.
- Add mcp23s18 to device tree documentation.
- Remove statement that irqs don't work for spi. They do.
  Tested with mcp23s18.

Signed-off-by: Phil Reid <preid@electromag.com.au>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
drivers/gpio/gpio-mcp23s08.c