Commit 6aa32ad7 authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

gpiolib: move bias related code from gpio_set_config() to gpio_set_bias()



Move bias related code from gpio_set_config() to gpio_set_bias().

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
parent 0c4d8666
Loading
Loading
Loading
Loading
+14 −15
Original line number Diff line number Diff line
@@ -2106,25 +2106,13 @@ static int gpio_set_config_with_argument(struct gpio_desc *desc,

static int gpio_set_config(struct gpio_desc *desc, enum pin_config_param mode)
{
	unsigned int arg;

	switch (mode) {
	case PIN_CONFIG_BIAS_PULL_DOWN:
	case PIN_CONFIG_BIAS_PULL_UP:
		arg = 1;
		break;

	default:
		arg = 0;
		break;
	}

	return gpio_set_config_with_argument(desc, mode, arg);
	return gpio_set_config_with_argument(desc, mode, 0);
}

static int gpio_set_bias(struct gpio_desc *desc)
{
	enum pin_config_param bias;
	unsigned int arg;
	int ret;

	if (test_bit(FLAG_BIAS_DISABLE, &desc->flags))
@@ -2136,7 +2124,18 @@ static int gpio_set_bias(struct gpio_desc *desc)
	else
		return 0;

	ret = gpio_set_config(desc, bias);
	switch (bias) {
	case PIN_CONFIG_BIAS_PULL_DOWN:
	case PIN_CONFIG_BIAS_PULL_UP:
		arg = 1;
		break;

	default:
		arg = 0;
		break;
	}

	ret = gpio_set_config_with_argument(desc, bias, arg);
	if (ret != -ENOTSUPP)
		return ret;