Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
[linux-block.git] / drivers / pinctrl / pinctrl-zynqmp.c
index e14012209992f997d086e15fc2462b08bbd6e938..7d2fbf8a02cd667b2e3ef4161fa3544027b5eb0a 100644 (file)
@@ -163,6 +163,8 @@ static const char *zynqmp_pmux_get_function_name(struct pinctrl_dev *pctldev,
  * @num_groups:        Number of function groups.
  *
  * Get function's group count and group names.
+ *
+ * Return: 0
  */
 static int zynqmp_pmux_get_function_groups(struct pinctrl_dev *pctldev,
                                           unsigned int selector,
@@ -410,6 +412,10 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
 
                        break;
                case PIN_CONFIG_BIAS_HIGH_IMPEDANCE:
+                       param = PM_PINCTRL_CONFIG_TRI_STATE;
+                       arg = PM_PINCTRL_TRI_STATE_ENABLE;
+                       ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+                       break;
                case PIN_CONFIG_MODE_LOW_POWER:
                        /*
                         * These cases are mentioned in dts but configurable
@@ -418,6 +424,11 @@ static int zynqmp_pinconf_cfg_set(struct pinctrl_dev *pctldev,
                         */
                        ret = 0;
                        break;
+               case PIN_CONFIG_OUTPUT_ENABLE:
+                       param = PM_PINCTRL_CONFIG_TRI_STATE;
+                       arg = PM_PINCTRL_TRI_STATE_DISABLE;
+                       ret = zynqmp_pm_pinctrl_set_config(pin, param, arg);
+                       break;
                default:
                        dev_warn(pctldev->dev,
                                 "unsupported configuration parameter '%u'\n",