linux/drivers/pinctrl/renesas
Geert Uytterhoeven 412da8c722 pinctrl: renesas: Fix save/restore on SoCs with pull-down only pins
If some bits in a pin Pull-Up control register (PUPR) control pin
pull-down instead of pin pull-up, there are two pinmux_bias_reg entries:
a first one with the puen field filled in, listing pins with pull-up
functionality, and a second one with the pud field filled in, listing
pins with pull-down functionality.  On encountering the second entry,
where puen is NULL, the for-loop terminates early, causing the remaining
bias registers not to be saved/restored during PSCI system suspend.
Fortunately this does not trigger on any supported system yet, as PSCI
is only used on R-Car Gen3 and RZ/G2 systems, which all have separate
pin Pull-Enable (PUEN) and pin Pull-Up/Down control (PUD) registers.

Avoid this ever becoming a problem by treating pinmux_bias_reg.puen and
pinmux_bias_reg.pud the same.  Note that a register controlling both
pull-up and pull-down pins would be saved and restored twice, which is
harmless.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/59d2fbddff685b6a7a82ff17d2b37633e30e8860.1633615652.git.geert+renesas@glider.be
2021-10-15 09:48:00 +02:00
..
core.c pinctrl: renesas: Fix save/restore on SoCs with pull-down only pins 2021-10-15 09:48:00 +02:00
core.h pinctrl: renesas: Move R-Car bias helpers to sh_pfc.h 2021-03-24 10:38:29 +01:00
gpio.c pinctrl: renesas: Singular/plural grammar fixes 2020-11-13 15:37:41 +01:00
Kconfig pinctrl: renesas: Add RZ/G2L pin and gpio controller driver 2021-08-13 12:09:04 +02:00
Makefile pinctrl: renesas: Add RZ/G2L pin and gpio controller driver 2021-08-13 12:09:04 +02:00
pfc-emev2.c
pfc-r8a73a4.c pinctrl: renesas: Factor out common R-Mobile bias handling 2021-03-24 10:38:29 +01:00
pfc-r8a779a0.c pinctrl: renesas: Move R-Car bias helpers to sh_pfc.h 2021-03-24 10:38:29 +01:00
pfc-r8a7740.c pinctrl: renesas: Factor out common R-Mobile bias handling 2021-03-24 10:38:29 +01:00
pfc-r8a7778.c pinctrl: renesas: r8a7778: Remove unused PORT_GP_PUP_1() macro 2021-05-11 10:04:42 +02:00
pfc-r8a7779.c
pfc-r8a7790.c pinctrl: renesas: r8a7790: Add bias pinconf support 2021-05-31 10:50:28 +02:00
pfc-r8a7791.c pinctrl: renesas: r8a7791: Add bias pinconf support 2021-03-24 10:38:29 +01:00
pfc-r8a7792.c pinctrl: renesas: r8a7792: Add bias pinconf support 2021-05-31 10:50:28 +02:00
pfc-r8a7794.c pinctrl: renesas: r8a7794: Add bias pinconf support 2021-05-31 10:50:28 +02:00
pfc-r8a7796.c pinctrl: renesas: r8a779[56]x: Add MediaLB pins 2021-10-15 09:47:53 +02:00
pfc-r8a77470.c pinctrl: renesas: r8a77470: Add bias pinconf support 2021-05-31 10:50:28 +02:00
pfc-r8a77950.c pinctrl: renesas: r8a779[56]x: Add MediaLB pins 2021-10-15 09:47:53 +02:00
pfc-r8a77951.c pinctrl: renesas: r8a779[56]x: Add MediaLB pins 2021-10-15 09:47:53 +02:00
pfc-r8a77965.c pinctrl: renesas: r8a779[56]x: Add MediaLB pins 2021-10-15 09:47:53 +02:00
pfc-r8a77970.c pinctrl: renesas: r8a77970: Add bias pinconf support 2021-05-31 10:50:28 +02:00
pfc-r8a77980.c pinctrl: renesas: r8a77980: Add bias pinconf support 2021-05-31 10:50:29 +02:00
pfc-r8a77990.c pinctrl: renesas: r8a77990: Drop bogus PUEN_ prefixes in comments 2021-05-11 10:04:42 +02:00
pfc-r8a77995.c pinctrl: renesas: r8a77995: Add bias pinconf support 2021-07-13 09:43:34 +02:00
pfc-sh73a0.c pinctrl: renesas: Factor out common R-Mobile bias handling 2021-03-24 10:38:29 +01:00
pfc-sh7203.c
pfc-sh7264.c
pfc-sh7269.c
pfc-sh7720.c
pfc-sh7722.c
pfc-sh7723.c
pfc-sh7724.c
pfc-sh7734.c
pfc-sh7757.c
pfc-sh7785.c
pfc-sh7786.c
pfc-shx3.c
pinctrl-rza1.c pinctrl: renesas: Fix fall-through warnings for Clang 2020-11-23 09:47:28 +01:00
pinctrl-rza2.c
pinctrl-rzg2l.c pinctrl: renesas: rzg2l: Fix missing port register 21h 2021-09-24 15:14:49 +02:00
pinctrl-rzn1.c
pinctrl.c pinctrl: renesas: r8a77995: Add bias pinconf support 2021-07-13 09:43:34 +02:00
sh_pfc.h pinctrl: renesas: Fix pin control matching on R-Car H3e-2G 2021-07-27 09:29:02 +02:00