gpio/omap: move bank->dbck initialization to omap_gpio_mod_init()
authorTarun Kanti DebBarma <tarun.kanti@ti.com>
Wed, 11 Jul 2012 09:13:14 +0000 (14:43 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 17 Jul 2012 19:00:17 +0000 (21:00 +0200)
Since the bank->dbck initialization in a one time operation there
is no need to keep this within gpio_debounce(). Therefore, moving
clk_get(bank->dbck) to omap_gpio_mod_init(). Since the value of
bank->dbck would be NULL at the beginning, this check has been
removed.

Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@ti.com>
Reported-by: Paul Walmsley <paul@pwsan.com>
Reviewed-by: Jon Hunter <jon-hunter@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Cousson, Benoit <b-cousson@ti.com>
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-omap.c

index c4ed1722734c9eadb190c0ccaa19a9c2eb3b2d39..afecdccfc66ee597d933421862c73459b8ec5183 100644 (file)
@@ -889,12 +889,6 @@ static int gpio_debounce(struct gpio_chip *chip, unsigned offset,
 
        bank = container_of(chip, struct gpio_bank, chip);
 
-       if (!bank->dbck) {
-               bank->dbck = clk_get(bank->dev, "dbclk");
-               if (IS_ERR(bank->dbck))
-                       dev_err(bank->dev, "Could not get gpio dbck\n");
-       }
-
        spin_lock_irqsave(&bank->lock, flags);
        _set_gpio_debounce(bank, offset, debounce);
        spin_unlock_irqrestore(&bank->lock, flags);
@@ -966,6 +960,10 @@ static void omap_gpio_mod_init(struct gpio_bank *bank)
         /* Initialize interface clk ungated, module enabled */
        if (bank->regs->ctrl)
                __raw_writel(0, base + bank->regs->ctrl);
+
+       bank->dbck = clk_get(bank->dev, "dbclk");
+       if (IS_ERR(bank->dbck))
+               dev_err(bank->dev, "Could not get gpio dbck\n");
 }
 
 static __devinit void