mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 03:01:41 +02:00
pinctrl: cy8c95x0: Get rid of cy8c95x0_pinmux_direction() forward declaration
The function is used before being defined. Just move it up enough to get rid of forward declaration. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/20250205095243.512292-8-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
682d385aca
commit
145c39050e
|
|
@ -310,9 +310,6 @@ static const char * const cy8c95x0_groups[] = {
|
|||
"gp77",
|
||||
};
|
||||
|
||||
static int cy8c95x0_pinmux_direction(struct cy8c95x0_pinctrl *chip,
|
||||
unsigned int pin, bool input);
|
||||
|
||||
static inline u8 cypress_get_port(struct cy8c95x0_pinctrl *chip, unsigned int pin)
|
||||
{
|
||||
/* Account for GPORT2 which only has 4 bits */
|
||||
|
|
@ -672,6 +669,31 @@ static int cy8c95x0_read_regs_mask(struct cy8c95x0_pinctrl *chip, int reg,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int cy8c95x0_pinmux_direction(struct cy8c95x0_pinctrl *chip, unsigned int pin, bool input)
|
||||
{
|
||||
u8 port = cypress_get_port(chip, pin);
|
||||
u8 bit = cypress_get_pin_mask(chip, pin);
|
||||
int ret;
|
||||
|
||||
ret = cy8c95x0_regmap_write_bits(chip, CY8C95X0_DIRECTION, port, bit, input ? bit : 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* Disable driving the pin by forcing it to HighZ. Only setting
|
||||
* the direction register isn't sufficient in Push-Pull mode.
|
||||
*/
|
||||
if (input && test_bit(pin, chip->push_pull)) {
|
||||
ret = cy8c95x0_regmap_write_bits(chip, CY8C95X0_DRV_HIZ, port, bit, bit);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
__clear_bit(pin, chip->push_pull);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cy8c95x0_gpio_direction_input(struct gpio_chip *gc, unsigned int off)
|
||||
{
|
||||
return pinctrl_gpio_direction_input(gc, off);
|
||||
|
|
@ -1229,32 +1251,6 @@ static int cy8c95x0_gpio_request_enable(struct pinctrl_dev *pctldev,
|
|||
return cy8c95x0_set_mode(chip, pin, false);
|
||||
}
|
||||
|
||||
static int cy8c95x0_pinmux_direction(struct cy8c95x0_pinctrl *chip,
|
||||
unsigned int pin, bool input)
|
||||
{
|
||||
u8 port = cypress_get_port(chip, pin);
|
||||
u8 bit = cypress_get_pin_mask(chip, pin);
|
||||
int ret;
|
||||
|
||||
ret = cy8c95x0_regmap_write_bits(chip, CY8C95X0_DIRECTION, port, bit, input ? bit : 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/*
|
||||
* Disable driving the pin by forcing it to HighZ. Only setting
|
||||
* the direction register isn't sufficient in Push-Pull mode.
|
||||
*/
|
||||
if (input && test_bit(pin, chip->push_pull)) {
|
||||
ret = cy8c95x0_regmap_write_bits(chip, CY8C95X0_DRV_HIZ, port, bit, bit);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
__clear_bit(pin, chip->push_pull);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cy8c95x0_gpio_set_direction(struct pinctrl_dev *pctldev,
|
||||
struct pinctrl_gpio_range *range,
|
||||
unsigned int pin, bool input)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user