pinctrl: cherryview: Return correct value if pin in push-pull mode
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 5 Jun 2023 14:37:34 +0000 (17:37 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 6 Jun 2023 13:06:32 +0000 (16:06 +0300)
Currently the getter returns ENOTSUPP on pin configured in
the push-pull mode. Fix this by adding the missed switch case.

Fixes: ccdf81d08dbe ("pinctrl: cherryview: add option to set open-drain pin config")
Fixes: 6e08d6bbebeb ("pinctrl: Add Intel Cherryview/Braswell pin controller support")
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/pinctrl/intel/pinctrl-cherryview.c

index 74221ce..b9b2b1d 100644 (file)
@@ -949,11 +949,6 @@ static int chv_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
 
                break;
 
-       case PIN_CONFIG_DRIVE_OPEN_DRAIN:
-               if (!(ctrl1 & CHV_PADCTRL1_ODEN))
-                       return -EINVAL;
-               break;
-
        case PIN_CONFIG_BIAS_HIGH_IMPEDANCE: {
                u32 cfg;
 
@@ -963,6 +958,16 @@ static int chv_config_get(struct pinctrl_dev *pctldev, unsigned int pin,
                        return -EINVAL;
 
                break;
+
+       case PIN_CONFIG_DRIVE_PUSH_PULL:
+               if (ctrl1 & CHV_PADCTRL1_ODEN)
+                       return -EINVAL;
+               break;
+
+       case PIN_CONFIG_DRIVE_OPEN_DRAIN:
+               if (!(ctrl1 & CHV_PADCTRL1_ODEN))
+                       return -EINVAL;
+               break;
        }
 
        default: