]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: renesas: rzg2l: Use -ENOTSUPP instead of -EOPNOTSUPP
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Fri, 15 May 2026 12:40:07 +0000 (15:40 +0300)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 25 May 2026 10:00:27 +0000 (12:00 +0200)
The pinctrl and GPIO core code make exceptions for the -ENOTSUPP error
code.  One such example is gpio_set_config_with_argument_optional(),
which returns success when gpio_set_config_with_argument() returns
-ENOTSUPP, but reports failure for all other error codes.

Returning -EOPNOTSUPP from the pinctrl driver on the unsupported pinctrl
operation may lead to boot failures when pinctrl drivers implements
struct gpio_chip::set_config, the system uses GPIO hogs, and the
struct gpio_chip::set_config implementation returns -EOPNOTSUPP for the
unsupported operations.

Return -ENOTSUPP for the unsupported pinctrl operation.

Fixes: 560c633d378a ("pinctrl: renesas: rzg2l: Drop oen_read and oen_write callbacks")
Fixes: c4c4637eb57f ("pinctrl: renesas: Add RZ/G2L pin and gpio controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260515124008.2947838-2-claudiu.beznea@kernel.org
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
drivers/pinctrl/renesas/pinctrl-rzg2l.c

index a106e087c224a6467976d075fe6aa2538c2f17a6..05a33655e6cc17ee89a88a62122447fd33358d68 100644 (file)
@@ -1281,7 +1281,7 @@ static int rzg2l_read_oen(struct rzg2l_pinctrl *pctrl, unsigned int _pin)
        int bit;
 
        if (!pctrl->data->pin_to_oen_bit)
-               return -EOPNOTSUPP;
+               return -ENOTSUPP;
 
        bit = pctrl->data->pin_to_oen_bit(pctrl, _pin);
        if (bit < 0)
@@ -1323,7 +1323,7 @@ static int rzg2l_write_oen(struct rzg2l_pinctrl *pctrl, unsigned int _pin, u8 oe
        u8 val;
 
        if (!pctrl->data->pin_to_oen_bit)
-               return -EOPNOTSUPP;
+               return -ENOTSUPP;
 
        bit = pctrl->data->pin_to_oen_bit(pctrl, _pin);
        if (bit < 0)
@@ -1754,7 +1754,7 @@ static int rzg2l_pinctrl_pinconf_set(struct pinctrl_dev *pctldev,
                        break;
 
                default:
-                       return -EOPNOTSUPP;
+                       return -ENOTSUPP;
                }
        }
 
@@ -1837,7 +1837,7 @@ static int rzg2l_pinctrl_pinconf_group_get(struct pinctrl_dev *pctldev,
 
                /* Check config matching between to pin  */
                if (i && prev_config != *config)
-                       return -EOPNOTSUPP;
+                       return -ENOTSUPP;
 
                prev_config = *config;
        }