lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 255/757] pinctrl: mcp23s08: Fix mcp23x17 precious range
    Date
    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 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.25.1


    \
     
     \ /
      Last update: 2020-10-27 16:42    [W:4.025 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site