gpio/omap: remove get_gpio_bank()
authorCharulatha V <charu@ti.com>
Fri, 22 Apr 2011 11:08:16 +0000 (16:38 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 16 Jun 2011 18:13:37 +0000 (11:13 -0700)
use chip info to get the pointer to the struct gpio_bank for a
given GPIO bank and remove get_gpio_bank().

Signed-off-by: Charulatha V <charu@ti.com>
drivers/gpio/gpio-omap.c

index 72811a3..25a7ee6 100644 (file)
@@ -86,31 +86,6 @@ int gpio_bank_count;
 #define GPIO_INDEX(bank, gpio) (gpio % bank->width)
 #define GPIO_BIT(bank, gpio) (1 << GPIO_INDEX(bank, gpio))
 
-static inline struct gpio_bank *get_gpio_bank(int gpio)
-{
-       if (cpu_is_omap15xx()) {
-               if (OMAP_GPIO_IS_MPUIO(gpio))
-                       return &gpio_bank[0];
-               return &gpio_bank[1];
-       }
-       if (cpu_is_omap16xx()) {
-               if (OMAP_GPIO_IS_MPUIO(gpio))
-                       return &gpio_bank[0];
-               return &gpio_bank[1 + (gpio >> 4)];
-       }
-       if (cpu_is_omap7xx()) {
-               if (OMAP_GPIO_IS_MPUIO(gpio))
-                       return &gpio_bank[0];
-               return &gpio_bank[1 + (gpio >> 5)];
-       }
-       if (cpu_is_omap24xx())
-               return &gpio_bank[gpio >> 5];
-       if (cpu_is_omap34xx() || cpu_is_omap44xx())
-               return &gpio_bank[gpio >> 5];
-       BUG();
-       return NULL;
-}
-
 static inline int gpio_valid(int gpio)
 {
        if (gpio < 0)
@@ -1266,7 +1241,7 @@ static struct platform_device omap_mpuio_device = {
 
 static inline void mpuio_init(void)
 {
-       struct gpio_bank *bank = get_gpio_bank(OMAP_MPUIO(0));
+       struct gpio_bank *bank = &gpio_bank[0];
        platform_set_drvdata(&omap_mpuio_device, bank);
 
        if (platform_driver_register(&omap_mpuio_driver) == 0)
@@ -1342,7 +1317,7 @@ static int gpio_get(struct gpio_chip *chip, unsigned offset)
        u32 mask;
 
        gpio = chip->base + offset;
-       bank = get_gpio_bank(gpio);
+       bank = container_of(chip, struct gpio_bank, chip);
        reg = bank->base;
        mask = GPIO_BIT(bank, gpio);