pinctrl: renesas: r8a7794: Add range checking to .pin_to_pocctrl()
authorGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 23 Dec 2021 14:28:20 +0000 (15:28 +0100)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 22 Feb 2022 08:55:56 +0000 (09:55 +0100)
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>
Link: https://lore.kernel.org/r/d23767ad7152327654192d7191f4b8ae19493966.1640269510.git.geert+renesas@glider.be
drivers/pinctrl/renesas/pfc-r8a7794.c

index fbb5b3b..08a4269 100644 (file)
@@ -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) {