]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
pinctrl: ingenic: Fix regmap on X series SoCs
authorAidan MacDonald <aidanmacdonald.0x0@gmail.com>
Thu, 17 Mar 2022 00:07:40 +0000 (00:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 11:57:18 +0000 (13:57 +0200)
commitd8ccfd49fa48834966ff5e00fabe92245dc49084
treea3d0db2116c1c070d9c631f2d245fb9793c3d0cb
parent323681ce7c3ea8ba4d7bccbe15c0a295d77edb25
pinctrl: ingenic: Fix regmap on X series SoCs

commit 9279c00fa40250e5cb23a8423dce7dbc6516a0ea upstream.

The X series Ingenic SoCs have a shadow GPIO group which is at a higher
offset than the other groups, and is used for all GPIO configuration.
The regmap did not take this offset into account and set max_register
too low, so the regmap API blocked writes to the shadow group, which
made the pinctrl driver unable to configure any pins.

Fix this by adding regmap access tables to the chip info. The way that
max_register was computed was also off by one, since max_register is an
inclusive bound, not an exclusive bound; this has been fixed.

Cc: stable@vger.kernel.org
Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
Fixes: 6626a76ef857 ("pinctrl: ingenic: Add .max_register in regmap_config")
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20220317000740.1045204-1-aidanmacdonald.0x0@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/pinctrl/pinctrl-ingenic.c