[U-Boot] [PATCH v3 3/4] dm:gpio:mxc add a bank_index entry in platdata
Simon Glass
sjg at chromium.org
Thu Jan 22 22:27:50 CET 2015
Hi,
On 21 January 2015 at 04:09, Peng Fan <Peng.Fan at freescale.com> wrote:
> Add a new entry in platdata structure and intialize
> bank_index in mxc_plat array.
> This new entry can avoid using `plat - mxc_plat` by using
> `plat->bank_index`.
>
> Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
> ---
> drivers/gpio/mxc_gpio.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpio/mxc_gpio.c b/drivers/gpio/mxc_gpio.c
> index 8bb9e39..c52dd19 100644
> --- a/drivers/gpio/mxc_gpio.c
> +++ b/drivers/gpio/mxc_gpio.c
> @@ -23,6 +23,7 @@ enum mxc_gpio_direction {
> #define GPIO_PER_BANK 32
>
> struct mxc_gpio_plat {
> + int bank_index;
> struct gpio_regs *regs;
> };
>
> @@ -259,19 +260,19 @@ static const struct dm_gpio_ops gpio_mxc_ops = {
> };
>
> static const struct mxc_gpio_plat mxc_plat[] = {
> - { (struct gpio_regs *)GPIO1_BASE_ADDR },
> - { (struct gpio_regs *)GPIO2_BASE_ADDR },
> - { (struct gpio_regs *)GPIO3_BASE_ADDR },
> + { 0, (struct gpio_regs *)GPIO1_BASE_ADDR },
> + { 1, (struct gpio_regs *)GPIO2_BASE_ADDR },
> + { 2, (struct gpio_regs *)GPIO3_BASE_ADDR },
> #if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX51) || \
> defined(CONFIG_MX53) || defined(CONFIG_MX6)
> - { (struct gpio_regs *)GPIO4_BASE_ADDR },
> + { 3, (struct gpio_regs *)GPIO4_BASE_ADDR },
> #endif
> #if defined(CONFIG_MX27) || defined(CONFIG_MX53) || defined(CONFIG_MX6)
> - { (struct gpio_regs *)GPIO5_BASE_ADDR },
> - { (struct gpio_regs *)GPIO6_BASE_ADDR },
> + { 4, (struct gpio_regs *)GPIO5_BASE_ADDR },
> + { 5, (struct gpio_regs *)GPIO6_BASE_ADDR },
> #endif
> #if defined(CONFIG_MX53) || defined(CONFIG_MX6)
> - { (struct gpio_regs *)GPIO7_BASE_ADDR },
> + { 6, (struct gpio_regs *)GPIO7_BASE_ADDR },
Is it possible to drop these casts? Or should that be another patch?
> #endif
> };
>
> @@ -283,7 +284,7 @@ static int mxc_gpio_probe(struct udevice *dev)
> int banknum;
> char name[18], *str;
>
> - banknum = plat - mxc_plat;
> + banknum = plat->bank_index;
> sprintf(name, "GPIO%d_", banknum + 1);
> str = strdup(name);
> if (!str)
> --
> 1.8.4
>
>
Regards,
Simon
More information about the U-Boot
mailing list