Commit 7261851e authored by Paul Cercueil's avatar Paul Cercueil Committed by Linus Walleij
Browse files

pinctrl: ingenic: Fix bias config for X2000(E)



The ingenic_set_bias() function's "bias" argument is not a
"enum pin_config_param", so its value should not be compared against
values of that enum.

This should fix the bias config not working on the X2000(E) SoCs.

Fixes: 943e0da1 ("pinctrl: Ingenic: Add pinctrl driver for X2000.")
Cc: <stable@vger.kernel.org> # v5.12
Signed-off-by: default avatarPaul Cercueil <paul@crapouillou.net>
Tested-by: default avatar周琰杰 (Zhou <Yanjie)&lt;zhouyanjie@wanyeetech.com>
Link: https://lore.kernel.org/r/20210717174836.14776-2-paul@crapouillou.net


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent d5e93140
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -3830,17 +3830,17 @@ static void ingenic_set_bias(struct ingenic_pinctrl *jzpc,
{
	if (jzpc->info->version >= ID_X2000) {
		switch (bias) {
		case PIN_CONFIG_BIAS_PULL_UP:
		case GPIO_PULL_UP:
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPD, false);
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPU, true);
			break;

		case PIN_CONFIG_BIAS_PULL_DOWN:
		case GPIO_PULL_DOWN:
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPU, false);
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPD, true);
			break;

		case PIN_CONFIG_BIAS_DISABLE:
		case GPIO_PULL_DIS:
		default:
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPU, false);
			ingenic_config_pin(jzpc, pin, X2000_GPIO_PEPD, false);