diff options
author | Roman Tereshonkov <roman.tereshonkov@nokia.com> | 2011-02-17 06:44:42 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2011-03-11 09:22:47 -0500 |
commit | c93ff6bf16523d33e991a1fadde1b8d63eb7cd2c (patch) | |
tree | 79274e999ebb76ba73ece6d5fde44fb6594c2505 /drivers/mtd/onenand | |
parent | b3dcfd35244e1cb8dc8dfa5c05013b133dbb437a (diff) |
mtd: omap: add new variable to platform data to control onenand unlocking
New variable skip_initial_unlocking is added to the omap_onenand_platform_data.
This is used to inform the onenand driver to skip onenand unlocking when it
is initialized.
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/onenand')
-rw-r--r-- | drivers/mtd/onenand/omap2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index c849cacf4b2f..ea32c2fc4622 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c | |||
@@ -631,6 +631,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
631 | { | 631 | { |
632 | struct omap_onenand_platform_data *pdata; | 632 | struct omap_onenand_platform_data *pdata; |
633 | struct omap2_onenand *c; | 633 | struct omap2_onenand *c; |
634 | struct onenand_chip *this; | ||
634 | int r; | 635 | int r; |
635 | 636 | ||
636 | pdata = pdev->dev.platform_data; | 637 | pdata = pdev->dev.platform_data; |
@@ -728,9 +729,8 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
728 | 729 | ||
729 | c->mtd.dev.parent = &pdev->dev; | 730 | c->mtd.dev.parent = &pdev->dev; |
730 | 731 | ||
732 | this = &c->onenand; | ||
731 | if (c->dma_channel >= 0) { | 733 | if (c->dma_channel >= 0) { |
732 | struct onenand_chip *this = &c->onenand; | ||
733 | |||
734 | this->wait = omap2_onenand_wait; | 734 | this->wait = omap2_onenand_wait; |
735 | if (cpu_is_omap34xx()) { | 735 | if (cpu_is_omap34xx()) { |
736 | this->read_bufferram = omap3_onenand_read_bufferram; | 736 | this->read_bufferram = omap3_onenand_read_bufferram; |
@@ -751,6 +751,9 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) | |||
751 | c->onenand.disable = omap2_onenand_disable; | 751 | c->onenand.disable = omap2_onenand_disable; |
752 | } | 752 | } |
753 | 753 | ||
754 | if (pdata->skip_initial_unlocking) | ||
755 | this->options |= ONENAND_SKIP_INITIAL_UNLOCKING; | ||
756 | |||
754 | if ((r = onenand_scan(&c->mtd, 1)) < 0) | 757 | if ((r = onenand_scan(&c->mtd, 1)) < 0) |
755 | goto err_release_regulator; | 758 | goto err_release_regulator; |
756 | 759 | ||