diff mbox series

pinctrl: renesas: r8a7794: Add range checking to .pin_to_pocctrl()

Message ID d23767ad7152327654192d7191f4b8ae19493966.1640269510.git.geert+renesas@glider.be
State Accepted
Commit efe80cdfabe15b9d51d5eca8f88ab3a89b49a768
Headers show
Series pinctrl: renesas: r8a7794: Add range checking to .pin_to_pocctrl() | expand

Commit Message

Geert Uytterhoeven Dec. 23, 2021, 2:28 p.m. UTC
The .pin_to_pocctrl() implementation for R-Car E2 does not perform a
full range check, unlike on all other SoCs.  Add the range check, so the
checker can validate better the consistency of the pin control tables.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
To be queued in renesas-pinctrl for v5.18.

 drivers/pinctrl/renesas/pfc-r8a7794.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/drivers/pinctrl/renesas/pfc-r8a7794.c b/drivers/pinctrl/renesas/pfc-r8a7794.c
index fbb5b3b68f349ac6..08a4269565e2e54a 100644
--- a/drivers/pinctrl/renesas/pfc-r8a7794.c
+++ b/drivers/pinctrl/renesas/pfc-r8a7794.c
@@ -5623,6 +5623,9 @@  static const struct pinmux_cfg_reg pinmux_config_regs[] = {
 
 static int r8a7794_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin, u32 *pocctrl)
 {
+	if (pin < RCAR_GP_PIN(6, 0) || pin > RCAR_GP_PIN(6, 23))
+		return -EINVAL;
+
 	*pocctrl = 0xe606006c;
 
 	switch (pin & 0x1f) {