dm:gpio:mxc add a bank_index entry in platdata

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@freescale.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Peng Fan 2015-02-10 14:46:33 +08:00 committed by Simon Glass
parent c9cac3f841
commit 637a769318

View File

@ -23,6 +23,7 @@ enum mxc_gpio_direction {
#define GPIO_PER_BANK 32 #define GPIO_PER_BANK 32
struct mxc_gpio_plat { struct mxc_gpio_plat {
int bank_index;
struct gpio_regs *regs; 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[] = { static const struct mxc_gpio_plat mxc_plat[] = {
{ (struct gpio_regs *)GPIO1_BASE_ADDR }, { 0, (struct gpio_regs *)GPIO1_BASE_ADDR },
{ (struct gpio_regs *)GPIO2_BASE_ADDR }, { 1, (struct gpio_regs *)GPIO2_BASE_ADDR },
{ (struct gpio_regs *)GPIO3_BASE_ADDR }, { 2, (struct gpio_regs *)GPIO3_BASE_ADDR },
#if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX51) || \ #if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX51) || \
defined(CONFIG_MX53) || defined(CONFIG_MX6) defined(CONFIG_MX53) || defined(CONFIG_MX6)
{ (struct gpio_regs *)GPIO4_BASE_ADDR }, { 3, (struct gpio_regs *)GPIO4_BASE_ADDR },
#endif #endif
#if defined(CONFIG_MX27) || defined(CONFIG_MX53) || defined(CONFIG_MX6) #if defined(CONFIG_MX27) || defined(CONFIG_MX53) || defined(CONFIG_MX6)
{ (struct gpio_regs *)GPIO5_BASE_ADDR }, { 4, (struct gpio_regs *)GPIO5_BASE_ADDR },
{ (struct gpio_regs *)GPIO6_BASE_ADDR }, { 5, (struct gpio_regs *)GPIO6_BASE_ADDR },
#endif #endif
#if defined(CONFIG_MX53) || defined(CONFIG_MX6) #if defined(CONFIG_MX53) || defined(CONFIG_MX6)
{ (struct gpio_regs *)GPIO7_BASE_ADDR }, { 6, (struct gpio_regs *)GPIO7_BASE_ADDR },
#endif #endif
}; };
@ -283,7 +284,7 @@ static int mxc_gpio_probe(struct udevice *dev)
int banknum; int banknum;
char name[18], *str; char name[18], *str;
banknum = plat - mxc_plat; banknum = plat->bank_index;
sprintf(name, "GPIO%d_", banknum + 1); sprintf(name, "GPIO%d_", banknum + 1);
str = strdup(name); str = strdup(name);
if (!str) if (!str)