It's confusing to use gpio as gpio offset parameter so rename it to offset for better readability.
Signed-off-by: Axel Lin <axel....@ingics.com> --- drivers/gpio/vybrid_gpio.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/drivers/gpio/vybrid_gpio.c b/drivers/gpio/vybrid_gpio.c index 6eaf0a9..14ba7e5 100644 --- a/drivers/gpio/vybrid_gpio.c +++ b/drivers/gpio/vybrid_gpio.c @@ -21,54 +21,54 @@ struct vybrid_gpios { struct vybrid_gpio_regs *reg; }; -static int vybrid_gpio_direction_input(struct udevice *dev, unsigned gpio) +static int vybrid_gpio_direction_input(struct udevice *dev, unsigned offset) { const struct vybrid_gpios *gpios = dev_get_priv(dev); + unsigned gpio = offset + (gpios->chip * VYBRID_GPIO_COUNT); - gpio = gpio + (gpios->chip * VYBRID_GPIO_COUNT); imx_iomux_gpio_set_direction(gpio, VF610_GPIO_DIRECTION_IN); return 0; } -static int vybrid_gpio_direction_output(struct udevice *dev, unsigned gpio, +static int vybrid_gpio_direction_output(struct udevice *dev, unsigned offset, int value) { const struct vybrid_gpios *gpios = dev_get_priv(dev); + unsigned gpio = offset + (gpios->chip * VYBRID_GPIO_COUNT); - gpio = gpio + (gpios->chip * VYBRID_GPIO_COUNT); gpio_set_value(gpio, value); imx_iomux_gpio_set_direction(gpio, VF610_GPIO_DIRECTION_OUT); return 0; } -static int vybrid_gpio_get_value(struct udevice *dev, unsigned gpio) +static int vybrid_gpio_get_value(struct udevice *dev, unsigned offset) { const struct vybrid_gpios *gpios = dev_get_priv(dev); - return ((readl(&gpios->reg->gpio_pdir) & (1 << gpio))) ? 1 : 0; + return ((readl(&gpios->reg->gpio_pdir) & (1 << offset))) ? 1 : 0; } -static int vybrid_gpio_set_value(struct udevice *dev, unsigned gpio, +static int vybrid_gpio_set_value(struct udevice *dev, unsigned offset, int value) { const struct vybrid_gpios *gpios = dev_get_priv(dev); + if (value) - writel((1 << gpio), &gpios->reg->gpio_psor); + writel((1 << offset), &gpios->reg->gpio_psor); else - writel((1 << gpio), &gpios->reg->gpio_pcor); + writel((1 << offset), &gpios->reg->gpio_pcor); return 0; } -static int vybrid_gpio_get_function(struct udevice *dev, unsigned gpio) +static int vybrid_gpio_get_function(struct udevice *dev, unsigned offset) { const struct vybrid_gpios *gpios = dev_get_priv(dev); + unsigned gpio = offset + (gpios->chip * VYBRID_GPIO_COUNT); u32 g_state = 0; - gpio = gpio + (gpios->chip * VYBRID_GPIO_COUNT); - imx_iomux_gpio_get_function(gpio, &g_state); if (((g_state & (0x07 << PAD_MUX_MODE_SHIFT)) >> PAD_MUX_MODE_SHIFT) > 0) -- 2.1.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot