Re: [U-Boot] [PATCH v2] gpio: lpc32xx: Use priv_data instead of platdata
Hello Axel, On Tue, 14 Apr 2015 14:55:24 +0800, Axel Lin wrote: > The LPC32XX GPIO driver platdata currently contains GPIO state information, > which should go into priv_data. Thus rename lpc32xx_gpio_platdata to > lpc32xx_gpio_priv and convert to use dev_get_priv() instead. > > Signed-off-by: Axel Lin > --- > v2: Update commit log to mention that using priv_data for runtime state > which was stored in platdata. > drivers/gpio/lpc32xx_gpio.c | 39 +++ > 1 file changed, 19 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpio/lpc32xx_gpio.c b/drivers/gpio/lpc32xx_gpio.c > index 96b3125..8a9826e 100644 > --- a/drivers/gpio/lpc32xx_gpio.c > +++ b/drivers/gpio/lpc32xx_gpio.c > @@ -37,7 +37,7 @@ > > #define LPC32XX_GPIOS 128 > > -struct lpc32xx_gpio_platdata { > +struct lpc32xx_gpio_priv { > struct gpio_regs *regs; > /* GPIO FUNCTION: SEE WARNING #2 */ > signed char function[LPC32XX_GPIOS]; > @@ -60,8 +60,8 @@ struct lpc32xx_gpio_platdata { > static int lpc32xx_gpio_direction_input(struct udevice *dev, unsigned offset) > { > int port, mask; > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - struct gpio_regs *regs = gpio_platdata->regs; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + struct gpio_regs *regs = gpio_priv->regs; > > port = GPIO_TO_PORT(offset); > mask = GPIO_TO_MASK(offset); > @@ -83,7 +83,7 @@ static int lpc32xx_gpio_direction_input(struct udevice > *dev, unsigned offset) > } > > /* GPIO FUNCTION: SEE WARNING #2 */ > - gpio_platdata->function[offset] = GPIOF_INPUT; > + gpio_priv->function[offset] = GPIOF_INPUT; > > return 0; > } > @@ -95,8 +95,8 @@ static int lpc32xx_gpio_direction_input(struct udevice > *dev, unsigned offset) > static int lpc32xx_gpio_get_value(struct udevice *dev, unsigned offset) > { > int port, rank, mask, value; > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - struct gpio_regs *regs = gpio_platdata->regs; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + struct gpio_regs *regs = gpio_priv->regs; > > port = GPIO_TO_PORT(offset); > > @@ -130,8 +130,8 @@ static int lpc32xx_gpio_get_value(struct udevice *dev, > unsigned offset) > static int gpio_set(struct udevice *dev, unsigned gpio) > { > int port, mask; > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - struct gpio_regs *regs = gpio_platdata->regs; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + struct gpio_regs *regs = gpio_priv->regs; > > port = GPIO_TO_PORT(gpio); > mask = GPIO_TO_MASK(gpio); > @@ -162,8 +162,8 @@ static int gpio_set(struct udevice *dev, unsigned gpio) > static int gpio_clr(struct udevice *dev, unsigned gpio) > { > int port, mask; > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - struct gpio_regs *regs = gpio_platdata->regs; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + struct gpio_regs *regs = gpio_priv->regs; > > port = GPIO_TO_PORT(gpio); > mask = GPIO_TO_MASK(gpio); > @@ -208,8 +208,8 @@ static int lpc32xx_gpio_direction_output(struct udevice > *dev, unsigned offset, > int value) > { > int port, mask; > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - struct gpio_regs *regs = gpio_platdata->regs; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + struct gpio_regs *regs = gpio_priv->regs; > > port = GPIO_TO_PORT(offset); > mask = GPIO_TO_MASK(offset); > @@ -231,7 +231,7 @@ static int lpc32xx_gpio_direction_output(struct udevice > *dev, unsigned offset, > } > > /* GPIO FUNCTION: SEE WARNING #2 */ > - gpio_platdata->function[offset] = GPIOF_OUTPUT; > + gpio_priv->function[offset] = GPIOF_OUTPUT; > > return lpc32xx_gpio_set_value(dev, offset, value); > } > @@ -251,8 +251,8 @@ static int lpc32xx_gpio_direction_output(struct udevice > *dev, unsigned offset, > > static int lpc32xx_gpio_get_function(struct udevice *dev, unsigned offset) > { > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > - return gpio_platdata->function[offset]; > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > + return gpio_priv->function[offset]; > } > > static const struct dm_gpio_ops gpio_lpc32xx_ops = { > @@ -265,7 +265,7 @@ static const struct dm_gpio_ops gpio_lpc32xx_ops = { > > static int lpc32xx_gpio_probe(struct udevice *dev) > { > - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); > + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); > struct gpio_dev_priv *uc_priv = dev->uclass_priv; > > if (dev->of_offset == -1) { > @@ -274,12 +274,11 @@ static int
Re: [U-Boot] [PATCH v2] gpio: lpc32xx: Use priv_data instead of platdata
Hello Axel, On Tue, 14 Apr 2015 14:55:24 +0800, Axel Lin wrote: > The LPC32XX GPIO driver platdata currently contains GPIO state information, > which should go into priv_data. Thus rename lpc32xx_gpio_platdata to > lpc32xx_gpio_priv and convert to use dev_get_priv() instead. > > Signed-off-by: Axel Lin Tested-by: Albert ARIBAUD Amicalement, -- Albert. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] gpio: lpc32xx: Use priv_data instead of platdata
The LPC32XX GPIO driver platdata currently contains GPIO state information, which should go into priv_data. Thus rename lpc32xx_gpio_platdata to lpc32xx_gpio_priv and convert to use dev_get_priv() instead. Signed-off-by: Axel Lin --- v2: Update commit log to mention that using priv_data for runtime state which was stored in platdata. drivers/gpio/lpc32xx_gpio.c | 39 +++ 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/drivers/gpio/lpc32xx_gpio.c b/drivers/gpio/lpc32xx_gpio.c index 96b3125..8a9826e 100644 --- a/drivers/gpio/lpc32xx_gpio.c +++ b/drivers/gpio/lpc32xx_gpio.c @@ -37,7 +37,7 @@ #define LPC32XX_GPIOS 128 -struct lpc32xx_gpio_platdata { +struct lpc32xx_gpio_priv { struct gpio_regs *regs; /* GPIO FUNCTION: SEE WARNING #2 */ signed char function[LPC32XX_GPIOS]; @@ -60,8 +60,8 @@ struct lpc32xx_gpio_platdata { static int lpc32xx_gpio_direction_input(struct udevice *dev, unsigned offset) { int port, mask; - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - struct gpio_regs *regs = gpio_platdata->regs; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + struct gpio_regs *regs = gpio_priv->regs; port = GPIO_TO_PORT(offset); mask = GPIO_TO_MASK(offset); @@ -83,7 +83,7 @@ static int lpc32xx_gpio_direction_input(struct udevice *dev, unsigned offset) } /* GPIO FUNCTION: SEE WARNING #2 */ - gpio_platdata->function[offset] = GPIOF_INPUT; + gpio_priv->function[offset] = GPIOF_INPUT; return 0; } @@ -95,8 +95,8 @@ static int lpc32xx_gpio_direction_input(struct udevice *dev, unsigned offset) static int lpc32xx_gpio_get_value(struct udevice *dev, unsigned offset) { int port, rank, mask, value; - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - struct gpio_regs *regs = gpio_platdata->regs; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + struct gpio_regs *regs = gpio_priv->regs; port = GPIO_TO_PORT(offset); @@ -130,8 +130,8 @@ static int lpc32xx_gpio_get_value(struct udevice *dev, unsigned offset) static int gpio_set(struct udevice *dev, unsigned gpio) { int port, mask; - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - struct gpio_regs *regs = gpio_platdata->regs; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + struct gpio_regs *regs = gpio_priv->regs; port = GPIO_TO_PORT(gpio); mask = GPIO_TO_MASK(gpio); @@ -162,8 +162,8 @@ static int gpio_set(struct udevice *dev, unsigned gpio) static int gpio_clr(struct udevice *dev, unsigned gpio) { int port, mask; - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - struct gpio_regs *regs = gpio_platdata->regs; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + struct gpio_regs *regs = gpio_priv->regs; port = GPIO_TO_PORT(gpio); mask = GPIO_TO_MASK(gpio); @@ -208,8 +208,8 @@ static int lpc32xx_gpio_direction_output(struct udevice *dev, unsigned offset, int value) { int port, mask; - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - struct gpio_regs *regs = gpio_platdata->regs; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + struct gpio_regs *regs = gpio_priv->regs; port = GPIO_TO_PORT(offset); mask = GPIO_TO_MASK(offset); @@ -231,7 +231,7 @@ static int lpc32xx_gpio_direction_output(struct udevice *dev, unsigned offset, } /* GPIO FUNCTION: SEE WARNING #2 */ - gpio_platdata->function[offset] = GPIOF_OUTPUT; + gpio_priv->function[offset] = GPIOF_OUTPUT; return lpc32xx_gpio_set_value(dev, offset, value); } @@ -251,8 +251,8 @@ static int lpc32xx_gpio_direction_output(struct udevice *dev, unsigned offset, static int lpc32xx_gpio_get_function(struct udevice *dev, unsigned offset) { - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); - return gpio_platdata->function[offset]; + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); + return gpio_priv->function[offset]; } static const struct dm_gpio_ops gpio_lpc32xx_ops = { @@ -265,7 +265,7 @@ static const struct dm_gpio_ops gpio_lpc32xx_ops = { static int lpc32xx_gpio_probe(struct udevice *dev) { - struct lpc32xx_gpio_platdata *gpio_platdata = dev_get_platdata(dev); + struct lpc32xx_gpio_priv *gpio_priv = dev_get_priv(dev); struct gpio_dev_priv *uc_priv = dev->uclass_priv; if (dev->of_offset == -1) { @@ -274,12 +274,11 @@ static int lpc32xx_gpio_probe(struct udevice *dev) } /* set base address for GPIO registers */ - gpio_platdata->regs = (struct gpio_regs *)GPIO_BASE; + gpio_priv->regs = (struct gpio