Commit 1fa3df90 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij
Browse files

pinctrl: cy8c95x0: Remove custom ->set_config()



Since we have pin configuration getter and setter provided,
there is no need to duplicate that in the custom ->set_config().
Instead, switch to gpiochip_generic_config().

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: default avatarPatrick Rudolph <patrick.rudolph@9elements.com>
Link: https://lore.kernel.org/r/20220902182650.83098-10-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent a416bfb7
Loading
Loading
Loading
Loading
+1 −25
Original line number Diff line number Diff line
@@ -772,30 +772,6 @@ static int cy8c95x0_gpio_set_pincfg(struct cy8c95x0_pinctrl *chip,
	return ret;
}

static int cy8c95x0_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
				    unsigned long config)
{
	struct cy8c95x0_pinctrl *chip = gpiochip_get_data(gc);
	unsigned long arg = pinconf_to_config_argument(config);

	switch (pinconf_to_config_param(config)) {
	case PIN_CONFIG_INPUT_ENABLE:
		return cy8c95x0_gpio_direction_input(gc, offset);
	case PIN_CONFIG_OUTPUT:
		return cy8c95x0_gpio_direction_output(gc, offset, arg);
	case PIN_CONFIG_MODE_PWM:
	case PIN_CONFIG_BIAS_PULL_UP:
	case PIN_CONFIG_BIAS_PULL_DOWN:
	case PIN_CONFIG_BIAS_DISABLE:
	case PIN_CONFIG_DRIVE_OPEN_DRAIN:
	case PIN_CONFIG_DRIVE_OPEN_SOURCE:
	case PIN_CONFIG_DRIVE_PUSH_PULL:
		return cy8c95x0_gpio_set_pincfg(chip, offset, config);
	default:
		return -ENOTSUPP;
	}
}

static int cy8c95x0_gpio_get_multiple(struct gpio_chip *gc,
				      unsigned long *mask, unsigned long *bits)
{
@@ -836,7 +812,7 @@ static int cy8c95x0_setup_gpiochip(struct cy8c95x0_pinctrl *chip)
	gc->get_direction = cy8c95x0_gpio_get_direction;
	gc->get_multiple = cy8c95x0_gpio_get_multiple;
	gc->set_multiple = cy8c95x0_gpio_set_multiple;
	gc->set_config = cy8c95x0_gpio_set_config;
	gc->set_config = gpiochip_generic_config,
	gc->can_sleep = true;
	gc->add_pin_ranges = cy8c95x0_add_pin_ranges;