diff options
-rw-r--r-- | drivers/mtd/nand/fsmc_nand.c | 9 | ||||
-rw-r--r-- | include/linux/mtd/fsmc.h | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c index abbff77fd106..4dda9bb38334 100644 --- a/drivers/mtd/nand/fsmc_nand.c +++ b/drivers/mtd/nand/fsmc_nand.c | |||
@@ -729,27 +729,28 @@ static int __init fsmc_nand_probe(struct platform_device *pdev) | |||
729 | goto err_probe1; | 729 | goto err_probe1; |
730 | } | 730 | } |
731 | 731 | ||
732 | host->resaddr = request_mem_region(res->start + PLAT_NAND_ALE, | 732 | host->resaddr = request_mem_region(res->start + pdata->ale_off, |
733 | resource_size(res), pdev->name); | 733 | resource_size(res), pdev->name); |
734 | if (!host->resaddr) { | 734 | if (!host->resaddr) { |
735 | ret = -EIO; | 735 | ret = -EIO; |
736 | goto err_probe1; | 736 | goto err_probe1; |
737 | } | 737 | } |
738 | 738 | ||
739 | host->addr_va = ioremap(res->start + PLAT_NAND_ALE, resource_size(res)); | 739 | host->addr_va = ioremap(res->start + pdata->ale_off, |
740 | resource_size(res)); | ||
740 | if (!host->addr_va) { | 741 | if (!host->addr_va) { |
741 | ret = -EIO; | 742 | ret = -EIO; |
742 | goto err_probe1; | 743 | goto err_probe1; |
743 | } | 744 | } |
744 | 745 | ||
745 | host->rescmd = request_mem_region(res->start + PLAT_NAND_CLE, | 746 | host->rescmd = request_mem_region(res->start + pdata->cle_off, |
746 | resource_size(res), pdev->name); | 747 | resource_size(res), pdev->name); |
747 | if (!host->rescmd) { | 748 | if (!host->rescmd) { |
748 | ret = -EIO; | 749 | ret = -EIO; |
749 | goto err_probe1; | 750 | goto err_probe1; |
750 | } | 751 | } |
751 | 752 | ||
752 | host->cmd_va = ioremap(res->start + PLAT_NAND_CLE, resource_size(res)); | 753 | host->cmd_va = ioremap(res->start + pdata->cle_off, resource_size(res)); |
753 | if (!host->cmd_va) { | 754 | if (!host->cmd_va) { |
754 | ret = -EIO; | 755 | ret = -EIO; |
755 | goto err_probe1; | 756 | goto err_probe1; |
diff --git a/include/linux/mtd/fsmc.h b/include/linux/mtd/fsmc.h index 6987995ad3cf..2cd655f06e05 100644 --- a/include/linux/mtd/fsmc.h +++ b/include/linux/mtd/fsmc.h | |||
@@ -151,6 +151,11 @@ struct fsmc_nand_platform_data { | |||
151 | unsigned int options; | 151 | unsigned int options; |
152 | unsigned int width; | 152 | unsigned int width; |
153 | unsigned int bank; | 153 | unsigned int bank; |
154 | |||
155 | /* CLE, ALE offsets */ | ||
156 | unsigned long cle_off; | ||
157 | unsigned long ale_off; | ||
158 | |||
154 | void (*select_bank)(uint32_t bank, uint32_t busw); | 159 | void (*select_bank)(uint32_t bank, uint32_t busw); |
155 | }; | 160 | }; |
156 | 161 | ||