Commit d56abfed authored by Lad Prabhakar's avatar Lad Prabhakar Committed by Geert Uytterhoeven
Browse files

pinctrl: renesas: rzg2l: Return -EINVAL if the pin doesn't support PIN_CFG_OEN



Update the rzg2l_pinctrl_pinconf_get() function to return -EINVAL for
PIN_CONFIG_OUTPUT_ENABLE config if the pin doesn't support the PIN_CFG_OEN
configuration.

-EINVAL is a valid error when dumping the pin configurations. Returning
-EOPNOTSUPP for a pin that does not support PIN_CFG_OEN resulted in the
message 'ERROR READING CONFIG SETTING 16' being printed during dumping
pinconf-pins.

For consistency do similar change in rzg2l_pinctrl_pinconf_set() for
PIN_CONFIG_OUTPUT_ENABLE config.

Fixes: a9024a32 ("pinctrl: renesas: rzg2l: Clean up and refactor OEN read/write functions")
Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tested-by: default avatarClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: default avatarPaul Barker <paul.barker.ct@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20240723164744.505233-1-prabhakar.mahadev-lad.rj@bp.renesas.com


Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
parent f82c086b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -1261,7 +1261,9 @@ static int rzg2l_pinctrl_pinconf_get(struct pinctrl_dev *pctldev,
		break;

	case PIN_CONFIG_OUTPUT_ENABLE:
		if (!pctrl->data->oen_read || !(cfg & PIN_CFG_OEN))
		if (!(cfg & PIN_CFG_OEN))
			return -EINVAL;
		if (!pctrl->data->oen_read)
			return -EOPNOTSUPP;
		arg = pctrl->data->oen_read(pctrl, _pin);
		if (!arg)
@@ -1402,7 +1404,9 @@ static int rzg2l_pinctrl_pinconf_set(struct pinctrl_dev *pctldev,

		case PIN_CONFIG_OUTPUT_ENABLE:
			arg = pinconf_to_config_argument(_configs[i]);
			if (!pctrl->data->oen_write || !(cfg & PIN_CFG_OEN))
			if (!(cfg & PIN_CFG_OEN))
				return -EINVAL;
			if (!pctrl->data->oen_write)
				return -EOPNOTSUPP;
			ret = pctrl->data->oen_write(pctrl, _pin, !!arg);
			if (ret)