mtd: nand: gpmi: adopt pinctrl support
authorShawn Guo <shawn.guo@linaro.org>
Sun, 6 May 2012 14:57:41 +0000 (22:57 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Sat, 12 May 2012 01:43:16 +0000 (09:43 +0800)
Cc: linux-mtd@lists.infradead.org
Cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
drivers/mtd/nand/gpmi-nand/gpmi-nand.c

index 9ec51ce..8478fd9 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/module.h>
 #include <linux/mtd/gpmi-nand.h>
 #include <linux/mtd/partitions.h>
+#include <linux/pinctrl/consumer.h>
 #include "gpmi-nand.h"
 
 /* add our owner bbt descriptor */
@@ -476,6 +477,7 @@ acquire_err:
 static int __devinit acquire_resources(struct gpmi_nand_data *this)
 {
        struct resources *res = &this->resources;
+       struct pinctrl *pinctrl;
        int ret;
 
        ret = acquire_register_block(this, GPMI_NAND_GPMI_REGS_ADDR_RES_NAME);
@@ -494,6 +496,12 @@ static int __devinit acquire_resources(struct gpmi_nand_data *this)
        if (ret)
                goto exit_dma_channels;
 
+       pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+       if (IS_ERR(pinctrl)) {
+               ret = PTR_ERR(pinctrl);
+               goto exit_pin;
+       }
+
        res->clock = clk_get(&this->pdev->dev, NULL);
        if (IS_ERR(res->clock)) {
                pr_err("can not get the clock\n");
@@ -503,6 +511,7 @@ static int __devinit acquire_resources(struct gpmi_nand_data *this)
        return 0;
 
 exit_clock:
+exit_pin:
        release_dma_channels(this);
 exit_dma_channels:
        release_bch_irq(this);