mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-15 21:16:18 -04:00
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: a9024a323a ("pinctrl: renesas: rzg2l: Clean up and refactor OEN read/write functions")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20240723164744.505233-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This commit is contained in:
committed by
Geert Uytterhoeven
parent
f82c086bcc
commit
d56abfed1c
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user