static int sh_gpio_direction_input(struct gpio_chip *chip, unsigned offset) { struct pinmux_info *gpioc = chip_to_pinmux(chip); unsigned long flags; int ret; spin_lock_irqsave(&gpio_lock, flags); ret = pinmux_direction(gpioc, offset, PINMUX_TYPE_INPUT); spin_unlock_irqrestore(&gpio_lock, flags); return ret; }
int gpio_direction_input(unsigned gpio) { struct pinmux_info *gpioc = gpio_controller(gpio); unsigned long flags; int ret = -EINVAL; if (!gpioc) goto err_out; spin_lock_irqsave(&gpio_lock, flags); ret = pinmux_direction(gpioc, gpio, PINMUX_TYPE_INPUT); spin_unlock_irqrestore(&gpio_lock, flags); err_out: return ret; }
static int sh_gpio_direction_output(unsigned offset, int value) { sh_gpio_set_value(gpioc, offset, value); return pinmux_direction(gpioc, offset, PINMUX_TYPE_OUTPUT); }
static int sh_gpio_direction_input(unsigned offset) { return pinmux_direction(gpioc, offset, PINMUX_TYPE_INPUT); }