diff options
-rw-r--r-- | drivers/mtd/nand/omap2.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c index b0f89d87de89..1ec0a1dbed3d 100644 --- a/drivers/mtd/nand/omap2.c +++ b/drivers/mtd/nand/omap2.c | |||
@@ -144,8 +144,13 @@ static u_char bch8_vector[] = {0xf3, 0xdb, 0x14, 0x16, 0x8b, 0xd2, 0xbe, 0xcc, | |||
144 | 0xac, 0x6b, 0xff, 0x99, 0x7b}; | 144 | 0xac, 0x6b, 0xff, 0x99, 0x7b}; |
145 | static u_char bch4_vector[] = {0x00, 0x6b, 0x31, 0xdd, 0x41, 0xbc, 0x10}; | 145 | static u_char bch4_vector[] = {0x00, 0x6b, 0x31, 0xdd, 0x41, 0xbc, 0x10}; |
146 | 146 | ||
147 | /* Shared among all NAND instances to synchronize access to the ECC Engine */ | ||
148 | static struct nand_hw_control omap_gpmc_controller = { | ||
149 | .lock = __SPIN_LOCK_UNLOCKED(omap_gpmc_controller.lock), | ||
150 | .wq = __WAIT_QUEUE_HEAD_INITIALIZER(omap_gpmc_controller.wq), | ||
151 | }; | ||
152 | |||
147 | struct omap_nand_info { | 153 | struct omap_nand_info { |
148 | struct nand_hw_control controller; | ||
149 | struct omap_nand_platform_data *pdata; | 154 | struct omap_nand_platform_data *pdata; |
150 | struct mtd_info mtd; | 155 | struct mtd_info mtd; |
151 | struct nand_chip nand; | 156 | struct nand_chip nand; |
@@ -1685,9 +1690,6 @@ static int omap_nand_probe(struct platform_device *pdev) | |||
1685 | 1690 | ||
1686 | platform_set_drvdata(pdev, info); | 1691 | platform_set_drvdata(pdev, info); |
1687 | 1692 | ||
1688 | spin_lock_init(&info->controller.lock); | ||
1689 | init_waitqueue_head(&info->controller.wq); | ||
1690 | |||
1691 | info->pdev = pdev; | 1693 | info->pdev = pdev; |
1692 | info->gpmc_cs = pdata->cs; | 1694 | info->gpmc_cs = pdata->cs; |
1693 | info->reg = pdata->reg; | 1695 | info->reg = pdata->reg; |
@@ -1707,7 +1709,7 @@ static int omap_nand_probe(struct platform_device *pdev) | |||
1707 | 1709 | ||
1708 | info->phys_base = res->start; | 1710 | info->phys_base = res->start; |
1709 | 1711 | ||
1710 | nand_chip->controller = &info->controller; | 1712 | nand_chip->controller = &omap_gpmc_controller; |
1711 | 1713 | ||
1712 | nand_chip->IO_ADDR_W = nand_chip->IO_ADDR_R; | 1714 | nand_chip->IO_ADDR_W = nand_chip->IO_ADDR_R; |
1713 | nand_chip->cmd_ctrl = omap_hwcontrol; | 1715 | nand_chip->cmd_ctrl = omap_hwcontrol; |