Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 326488
b: refs/heads/master
c: 9c4c2f8
h: refs/heads/master
v: v3
  • Loading branch information
Afzal Mohammed authored and Tony Lindgren committed Aug 30, 2012
1 parent a01c200 commit f4072ee
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 681988ba0c369795def0346d210ce96d6177059a
refs/heads/master: 9c4c2f8b91a8bcc431d1c033e4d4455479b8183b
1 change: 0 additions & 1 deletion trunk/arch/arm/plat-omap/include/plat/nand.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ struct omap_nand_platform_data {
bool dev_ready;
int gpmc_irq;
enum nand_io xfer_type;
unsigned long phys_base;
int devsize;
enum omap_ecc ecc_opt;
struct gpmc_nand_regs reg;
Expand Down
19 changes: 15 additions & 4 deletions trunk/drivers/mtd/nand/omap2.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ struct omap_nand_info {

int gpmc_cs;
unsigned long phys_base;
unsigned long mem_size;
struct completion comp;
struct dma_chan *dma;
int gpmc_irq;
Expand Down Expand Up @@ -1270,6 +1271,7 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
int i, offset;
dma_cap_mask_t mask;
unsigned sig;
struct resource *res;

pdata = pdev->dev.platform_data;
if (pdata == NULL) {
Expand All @@ -1289,7 +1291,6 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
info->pdev = pdev;

info->gpmc_cs = pdata->cs;
info->phys_base = pdata->phys_base;
info->reg = pdata->reg;

info->mtd.priv = &info->nand;
Expand All @@ -1302,13 +1303,23 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
/* NAND write protect off */
gpmc_cs_configure(info->gpmc_cs, GPMC_CONFIG_WP, 0);

if (!request_mem_region(info->phys_base, NAND_IO_SIZE,
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (res == NULL) {
err = -EINVAL;
dev_err(&pdev->dev, "error getting memory resource\n");
goto out_free_info;
}

info->phys_base = res->start;
info->mem_size = resource_size(res);

if (!request_mem_region(info->phys_base, info->mem_size,
pdev->dev.driver->name)) {
err = -EBUSY;
goto out_free_info;
}

info->nand.IO_ADDR_R = ioremap(info->phys_base, NAND_IO_SIZE);
info->nand.IO_ADDR_R = ioremap(info->phys_base, info->mem_size);
if (!info->nand.IO_ADDR_R) {
err = -ENOMEM;
goto out_release_mem_region;
Expand Down Expand Up @@ -1479,7 +1490,7 @@ static int __devinit omap_nand_probe(struct platform_device *pdev)
out_release_mem_region:
if (info->dma)
dma_release_channel(info->dma);
release_mem_region(info->phys_base, NAND_IO_SIZE);
release_mem_region(info->phys_base, info->mem_size);
out_free_info:
kfree(info);

Expand Down

0 comments on commit f4072ee

Please sign in to comment.