|
|
@@ -345,13 +345,12 @@ static int pmic_mpp_config_get(struct pinctrl_dev *pctldev,
|
|
|
|
|
|
switch (param) {
|
|
|
case PIN_CONFIG_BIAS_DISABLE:
|
|
|
- arg = pad->pullup == PMIC_MPP_PULL_UP_OPEN;
|
|
|
+ if (pad->pullup != PMIC_MPP_PULL_UP_OPEN)
|
|
|
+ return -EINVAL;
|
|
|
+ arg = 1;
|
|
|
break;
|
|
|
case PIN_CONFIG_BIAS_PULL_UP:
|
|
|
switch (pad->pullup) {
|
|
|
- case PMIC_MPP_PULL_UP_OPEN:
|
|
|
- arg = 0;
|
|
|
- break;
|
|
|
case PMIC_MPP_PULL_UP_0P6KOHM:
|
|
|
arg = 600;
|
|
|
break;
|
|
|
@@ -366,13 +365,17 @@ static int pmic_mpp_config_get(struct pinctrl_dev *pctldev,
|
|
|
}
|
|
|
break;
|
|
|
case PIN_CONFIG_BIAS_HIGH_IMPEDANCE:
|
|
|
- arg = !pad->is_enabled;
|
|
|
+ if (pad->is_enabled)
|
|
|
+ return -EINVAL;
|
|
|
+ arg = 1;
|
|
|
break;
|
|
|
case PIN_CONFIG_POWER_SOURCE:
|
|
|
arg = pad->power_source;
|
|
|
break;
|
|
|
case PIN_CONFIG_INPUT_ENABLE:
|
|
|
- arg = pad->input_enabled;
|
|
|
+ if (!pad->input_enabled)
|
|
|
+ return -EINVAL;
|
|
|
+ arg = 1;
|
|
|
break;
|
|
|
case PIN_CONFIG_OUTPUT:
|
|
|
arg = pad->out_value;
|
|
|
@@ -384,7 +387,9 @@ static int pmic_mpp_config_get(struct pinctrl_dev *pctldev,
|
|
|
arg = pad->amux_input;
|
|
|
break;
|
|
|
case PMIC_MPP_CONF_PAIRED:
|
|
|
- arg = pad->paired;
|
|
|
+ if (!pad->paired)
|
|
|
+ return -EINVAL;
|
|
|
+ arg = 1;
|
|
|
break;
|
|
|
case PIN_CONFIG_DRIVE_STRENGTH:
|
|
|
arg = pad->drive_strength;
|