diff mbox series

[v2,2/2] pinctrl: mcp23s08: Fix mcp23x17 precious range

Message ID 20200828213226.1734264-3-thomas.preston@codethink.co.uk
State Accepted
Commit b9b7fb29433b906635231d0a111224efa009198c
Headers show
Series None | expand

Commit Message

Thomas Preston Aug. 28, 2020, 9:32 p.m. UTC
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>
---
 drivers/pinctrl/pinctrl-mcp23s08.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Andy Shevchenko Aug. 30, 2020, 5:43 p.m. UTC | #1
On Sat, Aug 29, 2020 at 12:33 AM Thomas Preston
<thomas.preston@codethink.co.uk> wrote:
>
> 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

I would convert it to tag Datasheet: https://...

Maybe Linus can amend this when applying.

> Fixes: 8f38910ba4f6 ("pinctrl: mcp23s08: switch to regmap caching")
> Signed-off-by: Thomas Preston <thomas.preston@codethink.co.uk>
> ---
>  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 87cde8fb08dd9..7edb067f5e76a 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.26.2
>
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-mcp23s08.c b/drivers/pinctrl/pinctrl-mcp23s08.c
index 87cde8fb08dd9..7edb067f5e76a 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,
 };