summaryrefslogtreecommitdiff
path: root/drivers/mtd
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2012-10-15 11:42:48 +0800
committerXinyu Chen <xinyu.chen@freescale.com>2012-10-15 11:42:48 +0800
commit535d88527a3d4d7e0ac7da8aee1fdd0f8df599e4 (patch)
tree681563b0ce9ccd1dc9c139d64e4c76168b633922 /drivers/mtd
parent04f9dc854fa70f1ea066f51218663568bea19d67 (diff)
parent464e5eb0311c9c9ae2efc1d11efa4f476b913513 (diff)
Merge remote branch 'fsl-linux-sdk/imx_3.0.35' into imx_3.0.35_android
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-lib.c2
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-nand.c6
-rw-r--r--drivers/mtd/nand/gpmi-nand/gpmi-nand.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
index 01c81faffa4a..2138dcb4f8a4 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
@@ -44,7 +44,7 @@ struct timing_threshod timing_default_threshold = {
.max_dll_delay_in_ns = 16,
};
-static struct clk *mxs_dma_clk;
+struct clk *mxs_dma_clk;
static void setup_ddr_timing_onfi(struct gpmi_nand_data *this)
{
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index cc353ce5ae7e..9bd09fc490e5 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -439,6 +439,12 @@ static bool gpmi_dma_filter(struct dma_chan *chan, void *param)
static void release_dma_channels(struct gpmi_nand_data *this)
{
unsigned int i;
+
+ if (mxs_dma_clk) {
+ clk_put(mxs_dma_clk);
+ mxs_dma_clk = NULL;
+ }
+
for (i = 0; i < DMA_CHANS; i++)
if (this->dma_chans[i]) {
dma_release_channel(this->dma_chans[i]);
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
index 21e1f6569211..77d0d273a297 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.h
@@ -290,4 +290,6 @@ extern int gpmi_read_page(struct gpmi_nand_data *,
#define GPMI_IS_MX23(x) ((x)->pdev->id_entry->driver_data == IS_MX23)
#define GPMI_IS_MX28(x) ((x)->pdev->id_entry->driver_data == IS_MX28)
#define GPMI_IS_MX6Q(x) ((x)->pdev->id_entry->driver_data == IS_MX6Q)
+
+extern struct clk *mxs_dma_clk;
#endif