diff options
author | Tony Lindgren <tony@atomide.com> | 2012-10-17 14:07:18 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2012-10-17 14:07:18 -0400 |
commit | 99f0b8d6b09b0db6452d0d6e252bfa28049bbea9 (patch) | |
tree | 23db2359ad86957359da7c8a458e25eddb08d776 /drivers/mtd/onenand | |
parent | 94c657853bd228ebbc2c590b7f81efcc1dde3329 (diff) | |
parent | 94709014ea8d2f24fbc1e6eb6982e801e325bd47 (diff) |
Merge branch 'omap-for-v3.8/cleanup-headers-gpmc' into omap-for-v3.8/cleanup-headers
Conflicts:
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-rx51-peripherals.c
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-omap2/pm34xx.c
drivers/mtd/nand/omap2.c
drivers/mtd/onenand/omap2.c
Diffstat (limited to 'drivers/mtd/onenand')
-rw-r--r-- | drivers/mtd/onenand/omap2.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index b846eafa2f09..53069aef1f48 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c | |||
@@ -38,12 +38,10 @@ | |||
38 | #include <linux/regulator/consumer.h> | 38 | #include <linux/regulator/consumer.h> |
39 | 39 | ||
40 | #include <asm/mach/flash.h> | 40 | #include <asm/mach/flash.h> |
41 | #include <plat/gpmc.h> | ||
42 | #include <linux/platform_data/mtd-onenand-omap2.h> | 41 | #include <linux/platform_data/mtd-onenand-omap2.h> |
43 | #include <asm/gpio.h> | 42 | #include <asm/gpio.h> |
44 | 43 | ||
45 | #include <plat-omap/dma-omap.h> | 44 | #include <plat-omap/dma-omap.h> |
46 | #include <plat/cpu.h> | ||
47 | 45 | ||
48 | #define DRIVER_NAME "omap2-onenand" | 46 | #define DRIVER_NAME "omap2-onenand" |
49 | 47 | ||
@@ -63,6 +61,7 @@ struct omap2_onenand { | |||
63 | int freq; | 61 | int freq; |
64 | int (*setup)(void __iomem *base, int *freq_ptr); | 62 | int (*setup)(void __iomem *base, int *freq_ptr); |
65 | struct regulator *regulator; | 63 | struct regulator *regulator; |
64 | u8 flags; | ||
66 | }; | 65 | }; |
67 | 66 | ||
68 | static void omap2_onenand_dma_cb(int lch, u16 ch_status, void *data) | 67 | static void omap2_onenand_dma_cb(int lch, u16 ch_status, void *data) |
@@ -155,7 +154,7 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state) | |||
155 | if (!(syscfg & ONENAND_SYS_CFG1_IOBE)) { | 154 | if (!(syscfg & ONENAND_SYS_CFG1_IOBE)) { |
156 | syscfg |= ONENAND_SYS_CFG1_IOBE; | 155 | syscfg |= ONENAND_SYS_CFG1_IOBE; |
157 | write_reg(c, syscfg, ONENAND_REG_SYS_CFG1); | 156 | write_reg(c, syscfg, ONENAND_REG_SYS_CFG1); |
158 | if (cpu_is_omap34xx()) | 157 | if (c->flags & ONENAND_IN_OMAP34XX) |
159 | /* Add a delay to let GPIO settle */ | 158 | /* Add a delay to let GPIO settle */ |
160 | syscfg = read_reg(c, ONENAND_REG_SYS_CFG1); | 159 | syscfg = read_reg(c, ONENAND_REG_SYS_CFG1); |
161 | } | 160 | } |
@@ -639,6 +638,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
639 | 638 | ||
640 | init_completion(&c->irq_done); | 639 | init_completion(&c->irq_done); |
641 | init_completion(&c->dma_done); | 640 | init_completion(&c->dma_done); |
641 | c->flags = pdata->flags; | ||
642 | c->gpmc_cs = pdata->cs; | 642 | c->gpmc_cs = pdata->cs; |
643 | c->gpio_irq = pdata->gpio_irq; | 643 | c->gpio_irq = pdata->gpio_irq; |
644 | c->dma_channel = pdata->dma_channel; | 644 | c->dma_channel = pdata->dma_channel; |
@@ -729,7 +729,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
729 | this = &c->onenand; | 729 | this = &c->onenand; |
730 | if (c->dma_channel >= 0) { | 730 | if (c->dma_channel >= 0) { |
731 | this->wait = omap2_onenand_wait; | 731 | this->wait = omap2_onenand_wait; |
732 | if (cpu_is_omap34xx()) { | 732 | if (c->flags & ONENAND_IN_OMAP34XX) { |
733 | this->read_bufferram = omap3_onenand_read_bufferram; | 733 | this->read_bufferram = omap3_onenand_read_bufferram; |
734 | this->write_bufferram = omap3_onenand_write_bufferram; | 734 | this->write_bufferram = omap3_onenand_write_bufferram; |
735 | } else { | 735 | } else { |
@@ -803,7 +803,6 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev) | |||
803 | } | 803 | } |
804 | iounmap(c->onenand.base); | 804 | iounmap(c->onenand.base); |
805 | release_mem_region(c->phys_base, c->mem_size); | 805 | release_mem_region(c->phys_base, c->mem_size); |
806 | gpmc_cs_free(c->gpmc_cs); | ||
807 | kfree(c); | 806 | kfree(c); |
808 | 807 | ||
809 | return 0; | 808 | return 0; |