| From ee392c7bdde9739572b26dba295ea20776fa0404 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 28 Aug 2020 22:32:26 +0100 |
| Subject: pinctrl: mcp23s08: Fix mcp23x17 precious range |
| |
| From: Thomas Preston <thomas.preston@codethink.co.uk> |
| |
| [ Upstream commit b9b7fb29433b906635231d0a111224efa009198c ] |
| |
| On page 23 of the datasheet [0] it says "The register remains unchanged |
| until the interrupt is cleared via a read of INTCAP or GPIO." Include |
| INTCAPA and INTCAPB registers in precious range, so that they aren't |
| accidentally cleared when we read via debugfs. |
| |
| [0] https://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf |
| |
| Fixes: 8f38910ba4f6 ("pinctrl: mcp23s08: switch to regmap caching") |
| Signed-off-by: Thomas Preston <thomas.preston@codethink.co.uk> |
| Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> |
| Link: https://lore.kernel.org/r/20200828213226.1734264-3-thomas.preston@codethink.co.uk |
| Signed-off-by: Linus Walleij <linus.walleij@linaro.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/pinctrl/pinctrl-mcp23s08.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/pinctrl/pinctrl-mcp23s08.c b/drivers/pinctrl/pinctrl-mcp23s08.c |
| index 5641df67bcf55..235a141182bf6 100644 |
| --- a/drivers/pinctrl/pinctrl-mcp23s08.c |
| +++ b/drivers/pinctrl/pinctrl-mcp23s08.c |
| @@ -109,7 +109,7 @@ static const struct regmap_access_table mcp23x17_volatile_table = { |
| }; |
| |
| static const struct regmap_range mcp23x17_precious_range = { |
| - .range_min = MCP_GPIO << 1, |
| + .range_min = MCP_INTCAP << 1, |
| .range_max = MCP_GPIO << 1, |
| }; |
| |
| -- |
| 2.25.1 |
| |