diff options
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/devices/docg3.c | 6 | ||||
-rw-r--r-- | drivers/mtd/devices/mtdram.c | 8 | ||||
-rw-r--r-- | drivers/mtd/nand/atmel_nand.c | 32 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_denali_dt.c | 16 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_imx.c | 22 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_mrvl_nfc.c | 6 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_mxs.c | 17 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_omap_gpmc.c | 6 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_orion.c | 8 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_s3c24xx.c | 6 | ||||
-rw-r--r-- | drivers/mtd/nor/cfi_flash.c | 8 | ||||
-rw-r--r-- | drivers/mtd/spi-nor/cadence-quadspi.c | 11 |
12 files changed, 105 insertions, 41 deletions
diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c index 9ae606b3d8..3ff7ddfb09 100644 --- a/drivers/mtd/devices/docg3.c +++ b/drivers/mtd/devices/docg3.c @@ -1146,11 +1146,15 @@ nomem1: static int __init docg3_probe(struct device_d *dev) { + struct resource *iores; struct mtd_info *mtd; void __iomem *base; int ret, floor, found = 0; - base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + base = IOMEM(iores->start); ret = -ENOMEM; docg3_bch = init_bch(DOC_ECC_BCH_M, DOC_ECC_BCH_T, diff --git a/drivers/mtd/devices/mtdram.c b/drivers/mtd/devices/mtdram.c index fbcccd0398..acaf002258 100644 --- a/drivers/mtd/devices/mtdram.c +++ b/drivers/mtd/devices/mtdram.c @@ -49,6 +49,7 @@ static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retle static int mtdram_probe(struct device_d *dev) { + struct resource *iores; void __iomem *base; int device_id; struct mtd_info *mtd; @@ -70,11 +71,12 @@ static int mtdram_probe(struct device_d *dev) mtd->name = "mtdram"; } - base = dev_request_mem_region(dev, 0); - if (IS_ERR(base)) { - ret = PTR_ERR(base); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) { + ret = PTR_ERR(iores); goto nobase; } + base = IOMEM(iores->start); res = dev_get_resource(dev, IORESOURCE_MEM, 0); size = (unsigned long) resource_size(res); diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 48d1783a96..299cc15c3d 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -862,6 +862,7 @@ static int pmecc_build_galois_table(unsigned int mm, int16_t *index_of, static int __init atmel_pmecc_nand_init_params(struct device_d *dev, struct atmel_nand_host *host) { + struct resource *iores; struct mtd_info *mtd = &host->mtd; struct nand_chip *nand_chip = &host->nand_chip; int cap, sector_size, err_no; @@ -872,20 +873,27 @@ static int __init atmel_pmecc_nand_init_params(struct device_d *dev, dev_info(host->dev, "Initialize PMECC params, cap: %d, sector: %d\n", cap, sector_size); - host->ecc = dev_request_mem_region(dev, 1); + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->ecc = IOMEM(iores->start); if (IS_ERR(host->ecc)) { dev_err(host->dev, "ioremap failed\n"); return -EIO; } - host->pmerrloc_base = dev_request_mem_region(dev, 2); - if (IS_ERR(host->pmerrloc_base)) { + iores = dev_request_mem_resource(dev, 2); + if (IS_ERR(iores)) { dev_err(host->dev, "Can not get I/O resource for PMECC ERRLOC controller!\n"); - return PTR_ERR(host->pmerrloc_base); + return PTR_ERR(iores); } + host->pmerrloc_base = IOMEM(iores->start); - host->pmecc_rom_base = dev_request_mem_region(dev, 3); + iores = dev_request_mem_resource(dev, 3); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->pmecc_rom_base = IOMEM(iores->start); if (IS_ERR(host->pmecc_rom_base)) { /* Set pmecc_rom_base as the begin of gf table */ int size = sector_size == 512 ? 0x2000 : 0x4000; @@ -1245,10 +1253,14 @@ static int atmel_nand_of_init(struct atmel_nand_host *host, struct device_node * static int atmel_hw_nand_init_params(struct device_d *dev, struct atmel_nand_host *host) { + struct resource *iores; struct mtd_info *mtd = &host->mtd; struct nand_chip *nand_chip = &host->nand_chip; - host->ecc = dev_request_mem_region(dev, 1); + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->ecc = IOMEM(iores->start); if (IS_ERR(host->ecc)) { dev_err(host->dev, "ioremap failed\n"); return -EIO; @@ -1297,6 +1309,7 @@ static int atmel_hw_nand_init_params(struct device_d *dev, */ static int __init atmel_nand_probe(struct device_d *dev) { + struct resource *iores; struct atmel_nand_data *pdata = NULL; struct atmel_nand_host *host; struct mtd_info *mtd; @@ -1312,9 +1325,10 @@ static int __init atmel_nand_probe(struct device_d *dev) if (!pdata) return -ENOMEM; - host->io_base = dev_request_mem_region(dev, 0); - if (IS_ERR(host->io_base)) - return PTR_ERR(host->io_base); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->io_base = IOMEM(iores->start); mtd = &host->mtd; nand_chip = &host->nand_chip; diff --git a/drivers/mtd/nand/nand_denali_dt.c b/drivers/mtd/nand/nand_denali_dt.c index 6a3aee1415..2c6b188094 100644 --- a/drivers/mtd/nand/nand_denali_dt.c +++ b/drivers/mtd/nand/nand_denali_dt.c @@ -36,6 +36,7 @@ struct denali_dt { static int denali_dt_probe(struct device_d *ofdev) { + struct resource *iores; struct denali_dt *dt; struct denali_nand_info *denali; int ret; @@ -51,12 +52,15 @@ static int denali_dt_probe(struct device_d *ofdev) denali->platform = DT; denali->dev = ofdev; - denali->flash_mem = dev_request_mem_region(ofdev, 0); - if (IS_ERR(denali->flash_mem)) - return PTR_ERR(denali->flash_mem); - denali->flash_reg = dev_request_mem_region(ofdev, 1); - if (IS_ERR(denali->flash_reg)) - return PTR_ERR(denali->flash_reg); + iores = dev_request_mem_resource(ofdev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + denali->flash_mem = IOMEM(iores->start); + + iores = dev_request_mem_resource(ofdev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + denali->flash_reg = IOMEM(iores->start); dt->clk = clk_get(ofdev, NULL); if (IS_ERR(dt->clk)) { diff --git a/drivers/mtd/nand/nand_imx.c b/drivers/mtd/nand/nand_imx.c index 6cabae06a9..6ea82a110d 100644 --- a/drivers/mtd/nand/nand_imx.c +++ b/drivers/mtd/nand/nand_imx.c @@ -1105,6 +1105,7 @@ static int __init mxcnd_probe_dt(struct imx_nand_host *host) static int __init imxnd_probe(struct device_d *dev) { + struct resource *iores; struct nand_chip *this; struct mtd_info *mtd; struct imx_nand_host *host; @@ -1146,7 +1147,10 @@ static int __init imxnd_probe(struct device_d *dev) } if (nfc_is_v21()) { - host->base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->base = IOMEM(iores->start); host->main_area0 = host->base; host->regs = host->base + 0x1e00; host->spare0 = host->base + 0x1000; @@ -1155,7 +1159,10 @@ static int __init imxnd_probe(struct device_d *dev) oob_largepage = &nandv2_hw_eccoob_largepage; oob_4kpage = &nandv2_hw_eccoob_4k; /* FIXME : to check */ } else if (nfc_is_v1()) { - host->base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->base = IOMEM(iores->start); host->main_area0 = host->base; host->regs = host->base + 0xe00; host->spare0 = host->base + 0x800; @@ -1164,8 +1171,15 @@ static int __init imxnd_probe(struct device_d *dev) oob_largepage = &nandv1_hw_eccoob_largepage; oob_4kpage = &nandv1_hw_eccoob_smallpage; /* FIXME : to check */ } else if (nfc_is_v3_2()) { - host->regs_ip = dev_request_mem_region(dev, 0); - host->base = dev_request_mem_region(dev, 1); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->regs_ip = IOMEM(iores->start); + + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->base = IOMEM(iores->start); host->main_area0 = host->base; if (IS_ERR(host->regs_ip)) { diff --git a/drivers/mtd/nand/nand_mrvl_nfc.c b/drivers/mtd/nand/nand_mrvl_nfc.c index f160d15ab5..578790da26 100644 --- a/drivers/mtd/nand/nand_mrvl_nfc.c +++ b/drivers/mtd/nand/nand_mrvl_nfc.c @@ -1105,6 +1105,7 @@ static int mrvl_nand_scan(struct mtd_info *mtd) static struct mrvl_nand_host *alloc_nand_resource(struct device_d *dev) { + struct resource *iores; struct mrvl_nand_platform_data *pdata; struct mrvl_nand_host *host; struct nand_chip *chip = NULL; @@ -1135,7 +1136,10 @@ static struct mrvl_nand_host *alloc_nand_resource(struct device_d *dev) chip->chip_delay = CHIP_DELAY_TIMEOUT_US; host->dev = dev; - host->mmio_base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->mmio_base = IOMEM(iores->start); if (IS_ERR(host->mmio_base)) { free(host); return host->mmio_base; diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c index 7635e2a418..20bda14b62 100644 --- a/drivers/mtd/nand/nand_mxs.c +++ b/drivers/mtd/nand/nand_mxs.c @@ -1274,6 +1274,7 @@ static void mxs_nand_probe_dt(struct device_d *dev, struct mxs_nand_info *nand_i static int mxs_nand_probe(struct device_d *dev) { + struct resource *iores; struct mxs_nand_info *nand_info; struct nand_chip *nand; struct mtd_info *mtd; @@ -1293,13 +1294,15 @@ static int mxs_nand_probe(struct device_d *dev) mxs_nand_probe_dt(dev, nand_info); nand_info->type = type; - nand_info->io_base = dev_request_mem_region(dev, 0); - if (IS_ERR(nand_info->io_base)) - return PTR_ERR(nand_info->io_base); - - nand_info->bch_base = dev_request_mem_region(dev, 1); - if (IS_ERR(nand_info->bch_base)) - return PTR_ERR(nand_info->bch_base); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + nand_info->io_base = IOMEM(iores->start); + + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + nand_info->bch_base = IOMEM(iores->start); nand_info->clk = clk_get(dev, NULL); if (IS_ERR(nand_info->clk)) diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c index 9d9d27e964..a920522939 100644 --- a/drivers/mtd/nand/nand_omap_gpmc.c +++ b/drivers/mtd/nand/nand_omap_gpmc.c @@ -846,6 +846,7 @@ static int gpmc_set_buswidth(struct nand_chip *chip, int buswidth) */ static int gpmc_nand_probe(struct device_d *pdev) { + struct resource *iores; struct gpmc_nand_info *oinfo; struct gpmc_nand_platform_data *pdata; struct nand_chip *nand; @@ -881,7 +882,10 @@ static int gpmc_nand_probe(struct device_d *pdev) } /* Setup register specific data */ oinfo->gpmc_cs = pdata->cs; - oinfo->gpmc_base = dev_request_mem_region(pdev, 0); + iores = dev_request_mem_resource(pdev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + oinfo->gpmc_base = IOMEM(iores->start); cs_base = oinfo->gpmc_base + GPMC_CONFIG1_0 + (pdata->cs * GPMC_CONFIG_CS_SIZE); oinfo->gpmc_command = (void *)(cs_base + GPMC_CS_NAND_COMMAND); diff --git a/drivers/mtd/nand/nand_orion.c b/drivers/mtd/nand/nand_orion.c index fe06ef7912..881ffeec05 100644 --- a/drivers/mtd/nand/nand_orion.c +++ b/drivers/mtd/nand/nand_orion.c @@ -80,6 +80,7 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len) static int orion_nand_probe(struct device_d *dev) { + struct resource *iores; struct device_node *dev_node = dev->device_node; struct orion_nand *priv; struct mtd_info *mtd; @@ -93,9 +94,10 @@ static int orion_nand_probe(struct device_d *dev) mtd = &priv->mtd; chip = &priv->chip; - io_base = dev_request_mem_region(dev, 0); - if (IS_ERR(io_base)) - return PTR_ERR(io_base); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + io_base = IOMEM(iores->start); if (!of_property_read_u32(dev_node, "cle", &val)) priv->cle = (u8)val; diff --git a/drivers/mtd/nand/nand_s3c24xx.c b/drivers/mtd/nand/nand_s3c24xx.c index 37bba39260..83d45172b1 100644 --- a/drivers/mtd/nand/nand_s3c24xx.c +++ b/drivers/mtd/nand/nand_s3c24xx.c @@ -408,6 +408,7 @@ static int s3c24x0_nand_inithw(struct s3c24x0_nand_host *host) static int s3c24x0_nand_probe(struct device_d *dev) { + struct resource *iores; struct nand_chip *chip; struct s3c24x0_nand_platform_data *pdata = dev->platform_data; struct mtd_info *mtd; @@ -420,7 +421,10 @@ static int s3c24x0_nand_probe(struct device_d *dev) return -ENOMEM; host->dev = dev; - host->base = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + host->base = IOMEM(iores->start); /* structures must be linked */ chip = &host->nand; diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c index feffbd04ac..e50f0e667f 100644 --- a/drivers/mtd/nor/cfi_flash.c +++ b/drivers/mtd/nor/cfi_flash.c @@ -966,13 +966,15 @@ static void cfi_init_mtd(struct flash_info *info) static int cfi_probe_one(struct flash_info *info, int num) { + struct resource *iores; int ret; info->flash_id = FLASH_UNKNOWN; info->cmd_reset = FLASH_CMD_RESET; - info->base = dev_request_mem_region(info->dev, num); - if (IS_ERR(info->base)) - return PTR_ERR(info->base); + iores = dev_request_mem_resource(info->dev, num); + if (IS_ERR(iores)) + return PTR_ERR(iores); + info->base = IOMEM(iores->start); ret = flash_detect_size(info); if (ret) { diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c index ff7bb7a5d8..680f30f707 100644 --- a/drivers/mtd/spi-nor/cadence-quadspi.c +++ b/drivers/mtd/spi-nor/cadence-quadspi.c @@ -1109,6 +1109,7 @@ static void cqspi_controller_init(struct cqspi_st *cqspi) static int cqspi_probe(struct device_d *dev) { + struct resource *iores; struct device_node *np = dev->device_node; struct cqspi_st *cqspi; struct cadence_qspi_platform_data *pdata = dev->platform_data; @@ -1142,14 +1143,20 @@ static int cqspi_probe(struct device_d *dev) clk_enable(cqspi->qspi_clk); - cqspi->iobase = dev_request_mem_region(dev, 0); + iores = dev_request_mem_resource(dev, 0); + if (IS_ERR(iores)) + return PTR_ERR(iores); + cqspi->iobase = IOMEM(iores->start); if (IS_ERR(cqspi->iobase)) { dev_err(dev, "dev_request_mem_region 0 failed\n"); ret = PTR_ERR(cqspi->iobase); goto probe_failed; } - cqspi->ahb_base = dev_request_mem_region(dev, 1); + iores = dev_request_mem_resource(dev, 1); + if (IS_ERR(iores)) + return PTR_ERR(iores); + cqspi->ahb_base = IOMEM(iores->start); if (IS_ERR(cqspi->ahb_base)) { dev_err(dev, "dev_request_mem_region 0 failed\n"); ret = PTR_ERR(cqspi->ahb_base); |