[U-Boot] [PATCH] gpio: vybrid: Use proper parameter name for gpio offset
Bhuvanchandra DV
bhuvanchandra.dv at toradex.com
Tue Jun 9 16:37:03 CEST 2015
On 06/09/2015 07:54 PM, Axel Lin wrote:
> It's confusing to use gpio as gpio offset parameter so rename it to offset
> for better readability.
Agreed, but IMHO these offsets any way at the end are the gpio numbers
of individual gpio chip instances. e.g: gpio 2 of gpio chip 1 which is
gpio 34.
>
> Signed-off-by: Axel Lin <axel.lin at 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)
>
Best regards,
Bhuvan
More information about the U-Boot
mailing list