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>
This commit is contained in:
committed by
David Woodhouse
parent
b3dcfd3524
commit
c93ff6bf16
@@ -24,6 +24,7 @@ struct omap_onenand_platform_data {
|
|||||||
int dma_channel;
|
int dma_channel;
|
||||||
u8 flags;
|
u8 flags;
|
||||||
u8 regulator_can_sleep;
|
u8 regulator_can_sleep;
|
||||||
|
u8 skip_initial_unlocking;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define ONENAND_MAX_PARTITIONS 8
|
#define ONENAND_MAX_PARTITIONS 8
|
||||||
|
|||||||
@@ -631,6 +631,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
|
|||||||
{
|
{
|
||||||
struct omap_onenand_platform_data *pdata;
|
struct omap_onenand_platform_data *pdata;
|
||||||
struct omap2_onenand *c;
|
struct omap2_onenand *c;
|
||||||
|
struct onenand_chip *this;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
pdata = pdev->dev.platform_data;
|
pdata = pdev->dev.platform_data;
|
||||||
@@ -728,9 +729,8 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
c->mtd.dev.parent = &pdev->dev;
|
c->mtd.dev.parent = &pdev->dev;
|
||||||
|
|
||||||
|
this = &c->onenand;
|
||||||
if (c->dma_channel >= 0) {
|
if (c->dma_channel >= 0) {
|
||||||
struct onenand_chip *this = &c->onenand;
|
|
||||||
|
|
||||||
this->wait = omap2_onenand_wait;
|
this->wait = omap2_onenand_wait;
|
||||||
if (cpu_is_omap34xx()) {
|
if (cpu_is_omap34xx()) {
|
||||||
this->read_bufferram = omap3_onenand_read_bufferram;
|
this->read_bufferram = omap3_onenand_read_bufferram;
|
||||||
@@ -751,6 +751,9 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
|
|||||||
c->onenand.disable = omap2_onenand_disable;
|
c->onenand.disable = omap2_onenand_disable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pdata->skip_initial_unlocking)
|
||||||
|
this->options |= ONENAND_SKIP_INITIAL_UNLOCKING;
|
||||||
|
|
||||||
if ((r = onenand_scan(&c->mtd, 1)) < 0)
|
if ((r = onenand_scan(&c->mtd, 1)) < 0)
|
||||||
goto err_release_regulator;
|
goto err_release_regulator;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user