static int bcm2835_dma_probe(struct platform_device *pdev)
 {
        struct bcm2835_dmadev *od;
-       struct resource *res;
        void __iomem *base;
        int rc;
        int i, j;
 
        dma_set_max_seg_size(&pdev->dev, 0x3FFFFFFF);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       base = devm_ioremap_resource(&pdev->dev, res);
+       base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(base))
                return PTR_ERR(base);
 
 
 {
        struct dma_device *dma_dev;
        struct axi_dmac *dmac;
-       struct resource *res;
        struct regmap *regmap;
        unsigned int version;
        int ret;
        if (dmac->irq == 0)
                return -EINVAL;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dmac->base = devm_ioremap_resource(&pdev->dev, res);
+       dmac->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(dmac->base))
                return PTR_ERR(dmac->base);
 
 
 {
        struct device_node *node = pdev->dev.of_node;
        struct axi_dma_chip *chip;
-       struct resource *mem;
        struct dw_axi_dma *dw;
        struct dw_axi_dma_hcfg *hdata;
        u32 i;
        if (chip->irq < 0)
                return chip->irq;
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       chip->regs = devm_ioremap_resource(chip->dev, mem);
+       chip->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(chip->regs))
                return PTR_ERR(chip->regs);
 
 
        const struct fsl_edma_drvdata *drvdata = NULL;
        struct fsl_edma_chan *fsl_chan;
        struct edma_regs *regs;
-       struct resource *res;
        int len, chans;
        int ret, i;
 
        fsl_edma->n_chans = chans;
        mutex_init(&fsl_edma->fsl_edma_mutex);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       fsl_edma->membase = devm_ioremap_resource(&pdev->dev, res);
+       fsl_edma->membase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(fsl_edma->membase))
                return PTR_ERR(fsl_edma->membase);
 
        for (i = 0; i < fsl_edma->drvdata->dmamuxs; i++) {
                char clkname[32];
 
-               res = platform_get_resource(pdev, IORESOURCE_MEM, 1 + i);
-               fsl_edma->muxbase[i] = devm_ioremap_resource(&pdev->dev, res);
+               fsl_edma->muxbase[i] = devm_platform_ioremap_resource(pdev,
+                                                                     1 + i);
                if (IS_ERR(fsl_edma->muxbase[i])) {
                        /* on error: disable all previously enabled clks */
                        fsl_disable_clocks(fsl_edma, i);
 
        int ret, i;
        int blk_num, blk_off;
        u32 len, chans, queues;
-       struct resource *res;
        struct fsl_qdma_chan *fsl_chan;
        struct fsl_qdma_engine *fsl_qdma;
        struct device_node *np = pdev->dev.of_node;
                if (!fsl_qdma->status[i])
                        return -ENOMEM;
        }
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       fsl_qdma->ctrl_base = devm_ioremap_resource(&pdev->dev, res);
+       fsl_qdma->ctrl_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(fsl_qdma->ctrl_base))
                return PTR_ERR(fsl_qdma->ctrl_base);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       fsl_qdma->status_base = devm_ioremap_resource(&pdev->dev, res);
+       fsl_qdma->status_base = devm_platform_ioremap_resource(pdev, 1);
        if (IS_ERR(fsl_qdma->status_base))
                return PTR_ERR(fsl_qdma->status_base);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
-       fsl_qdma->block_base = devm_ioremap_resource(&pdev->dev, res);
+       fsl_qdma->block_base = devm_platform_ioremap_resource(pdev, 2);
        if (IS_ERR(fsl_qdma->block_base))
                return PTR_ERR(fsl_qdma->block_base);
        fsl_qdma->queue = fsl_qdma_alloc_queue_resources(pdev, fsl_qdma);
 
        struct idma64_chip *chip;
        struct device *dev = &pdev->dev;
        struct device *sysdev = dev->parent;
-       struct resource *mem;
        int ret;
 
        chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
        if (chip->irq < 0)
                return chip->irq;
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       chip->regs = devm_ioremap_resource(dev, mem);
+       chip->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(chip->regs))
                return PTR_ERR(chip->regs);
 
 
 static int mdc_dma_probe(struct platform_device *pdev)
 {
        struct mdc_dma *mdma;
-       struct resource *res;
        unsigned int i;
        u32 val;
        int ret;
 
        mdma->soc = of_device_get_match_data(&pdev->dev);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       mdma->regs = devm_ioremap_resource(&pdev->dev, res);
+       mdma->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(mdma->regs))
                return PTR_ERR(mdma->regs);
 
 
 static int __init imxdma_probe(struct platform_device *pdev)
 {
        struct imxdma_engine *imxdma;
-       struct resource *res;
        int ret, i;
        int irq, irq_err;
 
        imxdma->dev = &pdev->dev;
        imxdma->devtype = (uintptr_t)of_device_get_match_data(&pdev->dev);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       imxdma->base = devm_ioremap_resource(&pdev->dev, res);
+       imxdma->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(imxdma->base))
                return PTR_ERR(imxdma->base);
 
 
        const char *fw_name;
        int ret;
        int irq;
-       struct resource *iores;
        struct resource spba_res;
        int i;
        struct sdma_engine *sdma;
        if (irq < 0)
                return irq;
 
-       iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       sdma->regs = devm_ioremap_resource(&pdev->dev, iores);
+       sdma->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(sdma->regs))
                return PTR_ERR(sdma->regs);
 
 
        struct fsl_edma_engine *mcf_edma;
        struct fsl_edma_chan *mcf_chan;
        struct edma_regs *regs;
-       struct resource *res;
        int ret, i, len, chans;
 
        pdata = dev_get_platdata(&pdev->dev);
 
        mutex_init(&mcf_edma->fsl_edma_mutex);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-
-       mcf_edma->membase = devm_ioremap_resource(&pdev->dev, res);
+       mcf_edma->membase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(mcf_edma->membase))
                return PTR_ERR(mcf_edma->membase);
 
 
        struct mtk_hsdma_device *hsdma;
        struct mtk_hsdma_vchan *vc;
        struct dma_device *dd;
-       struct resource *res;
        int i, err;
 
        hsdma = devm_kzalloc(&pdev->dev, sizeof(*hsdma), GFP_KERNEL);
 
        dd = &hsdma->ddev;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       hsdma->base = devm_ioremap_resource(&pdev->dev, res);
+       hsdma->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(hsdma->base))
                return PTR_ERR(hsdma->base);
 
 
        struct mmp_pdma_device *pdev;
        const struct of_device_id *of_id;
        struct mmp_dma_platdata *pdata = dev_get_platdata(&op->dev);
-       struct resource *iores;
        int i, ret, irq = 0;
        int dma_channels = 0, irq_num = 0;
        const enum dma_slave_buswidth widths =
 
        spin_lock_init(&pdev->phy_lock);
 
-       iores = platform_get_resource(op, IORESOURCE_MEM, 0);
-       pdev->base = devm_ioremap_resource(pdev->dev, iores);
+       pdev->base = devm_platform_ioremap_resource(op, 0);
        if (IS_ERR(pdev->base))
                return PTR_ERR(pdev->base);
 
 
        enum mmp_tdma_type type;
        const struct of_device_id *of_id;
        struct mmp_tdma_device *tdev;
-       struct resource *iores;
        int i, ret;
        int irq = 0, irq_num = 0;
        int chan_num = TDMA_CHANNEL_NUM;
                        irq_num++;
        }
 
-       iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       tdev->base = devm_ioremap_resource(&pdev->dev, iores);
+       tdev->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(tdev->base))
                return PTR_ERR(tdev->base);
 
 
 {
        struct device *dev = &pdev->dev;
        struct device_node *node = dev->of_node;
-       struct resource *res;
        void __iomem *dma_base_addr;
        int ret, i;
        unsigned int irq;
                return -EINVAL;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dma_base_addr = devm_ioremap_resource(dev, res);
+       dma_base_addr = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(dma_base_addr))
                return PTR_ERR(dma_base_addr);
 
 
 static int mv_xor_v2_probe(struct platform_device *pdev)
 {
        struct mv_xor_v2_device *xor_dev;
-       struct resource *res;
        int i, ret = 0;
        struct dma_device *dma_dev;
        struct mv_xor_v2_sw_desc *sw_desc;
        if (!xor_dev)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       xor_dev->dma_base = devm_ioremap_resource(&pdev->dev, res);
+       xor_dev->dma_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(xor_dev->dma_base))
                return PTR_ERR(xor_dev->dma_base);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       xor_dev->glob_base = devm_ioremap_resource(&pdev->dev, res);
+       xor_dev->glob_base = devm_platform_ioremap_resource(pdev, 1);
        if (IS_ERR(xor_dev->glob_base))
                return PTR_ERR(xor_dev->glob_base);
 
 
        struct device_node *np = pdev->dev.of_node;
        const struct mxs_dma_type *dma_type;
        struct mxs_dma_engine *mxs_dma;
-       struct resource *iores;
        int ret, i;
 
        mxs_dma = devm_kzalloc(&pdev->dev, sizeof(*mxs_dma), GFP_KERNEL);
        mxs_dma->type = dma_type->type;
        mxs_dma->dev_id = dma_type->id;
 
-       iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       mxs_dma->base = devm_ioremap_resource(&pdev->dev, iores);
+       mxs_dma->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(mxs_dma->base))
                return PTR_ERR(mxs_dma->base);
 
 
        struct device_node *np = dev->of_node;
        struct nbpf_device *nbpf;
        struct dma_device *dma_dev;
-       struct resource *iomem;
        const struct nbpf_config *cfg;
        int num_channels;
        int ret, irq, eirq, i;
        dma_dev = &nbpf->dma_dev;
        dma_dev->dev = dev;
 
-       iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       nbpf->base = devm_ioremap_resource(dev, iomem);
+       nbpf->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(nbpf->base))
                return PTR_ERR(nbpf->base);
 
 
        const struct of_device_id *of_id;
        const struct dma_slave_map *slave_map = NULL;
        struct mmp_dma_platdata *pdata = dev_get_platdata(&op->dev);
-       struct resource *iores;
        int ret, dma_channels = 0, nb_requestors = 0, slave_map_cnt = 0;
        const enum dma_slave_buswidth widths =
                DMA_SLAVE_BUSWIDTH_1_BYTE   | DMA_SLAVE_BUSWIDTH_2_BYTES |
 
        spin_lock_init(&pdev->phy_lock);
 
-       iores = platform_get_resource(op, IORESOURCE_MEM, 0);
-       pdev->base = devm_ioremap_resource(&op->dev, iores);
+       pdev->base = devm_platform_ioremap_resource(op, 0);
        if (IS_ERR(pdev->base))
                return PTR_ERR(pdev->base);
 
 
 {
        struct bam_device *bdev;
        const struct of_device_id *match;
-       struct resource *iores;
        int ret, i;
 
        bdev = devm_kzalloc(&pdev->dev, sizeof(*bdev), GFP_KERNEL);
 
        bdev->layout = match->data;
 
-       iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       bdev->regs = devm_ioremap_resource(&pdev->dev, iores);
+       bdev->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(bdev->regs))
                return PTR_ERR(bdev->regs);
 
 
 static int sf_pdma_probe(struct platform_device *pdev)
 {
        struct sf_pdma *pdma;
-       struct resource *res;
        int ret, n_chans;
        const enum dma_slave_buswidth widths =
                DMA_SLAVE_BUSWIDTH_1_BYTE | DMA_SLAVE_BUSWIDTH_2_BYTES |
 
        pdma->n_chans = n_chans;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pdma->membase = devm_ioremap_resource(&pdev->dev, res);
+       pdma->membase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pdma->membase))
                return PTR_ERR(pdma->membase);
 
 
        const enum dma_slave_buswidth widths = USB_DMAC_SLAVE_BUSWIDTH;
        struct dma_device *engine;
        struct usb_dmac *dmac;
-       struct resource *mem;
        unsigned int i;
        int ret;
 
                return -ENOMEM;
 
        /* Request resources. */
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dmac->iomem = devm_ioremap_resource(&pdev->dev, mem);
+       dmac->iomem = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(dmac->iomem))
                return PTR_ERR(dmac->iomem);
 
 
        const struct of_device_id *match;
        struct device_node *dma_node;
        struct stm32_dmamux_data *stm32_dmamux;
-       struct resource *res;
        void __iomem *iomem;
        struct reset_control *rst;
        int i, count, ret;
        }
        pm_runtime_get_noresume(&pdev->dev);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       iomem = devm_ioremap_resource(&pdev->dev, res);
+       iomem = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(iomem))
                return PTR_ERR(iomem);
 
 
        struct stm32_mdma_device *dmadev;
        struct dma_device *dd;
        struct device_node *of_node;
-       struct resource *res;
        struct reset_control *rst;
        u32 nr_channels, nr_requests;
        int i, count, ret;
                                       count);
        dmadev->nr_ahb_addr_masks = count;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dmadev->base = devm_ioremap_resource(&pdev->dev, res);
+       dmadev->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(dmadev->base))
                return PTR_ERR(dmadev->base);
 
 
 static int sun4i_dma_probe(struct platform_device *pdev)
 {
        struct sun4i_dma_dev *priv;
-       struct resource *res;
        int i, j, ret;
 
        priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
        if (!priv)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       priv->base = devm_ioremap_resource(&pdev->dev, res);
+       priv->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(priv->base))
                return PTR_ERR(priv->base);
 
 
 {
        struct device_node *np = pdev->dev.of_node;
        struct sun6i_dma_dev *sdc;
-       struct resource *res;
        int ret, i;
 
        sdc = devm_kzalloc(&pdev->dev, sizeof(*sdc), GFP_KERNEL);
        if (!sdc->cfg)
                return -ENODEV;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       sdc->base = devm_ioremap_resource(&pdev->dev, res);
+       sdc->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(sdc->base))
                return PTR_ERR(sdc->base);
 
 
 {
        const struct tegra_adma_chip_data *cdata;
        struct tegra_adma *tdma;
-       struct resource *res;
        int ret, i;
 
        cdata = of_device_get_match_data(&pdev->dev);
        tdma->nr_channels = cdata->nr_channels;
        platform_set_drvdata(pdev, tdma);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
+       tdma->base_addr = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(tdma->base_addr))
                return PTR_ERR(tdma->base_addr);
 
 
        struct cppi41_dd *cdd;
        struct device *dev = &pdev->dev;
        const struct cppi_glue_infos *glue_info;
-       struct resource *mem;
        int index;
        int irq;
        int ret;
        if (index < 0)
                return index;
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, index);
-       cdd->ctrl_mem = devm_ioremap_resource(dev, mem);
+       cdd->ctrl_mem = devm_platform_ioremap_resource(pdev, index);
        if (IS_ERR(cdd->ctrl_mem))
                return PTR_ERR(cdd->ctrl_mem);
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, index + 1);
-       cdd->sched_mem = devm_ioremap_resource(dev, mem);
+       cdd->sched_mem = devm_platform_ioremap_resource(pdev, index + 1);
        if (IS_ERR(cdd->sched_mem))
                return PTR_ERR(cdd->sched_mem);
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, index + 2);
-       cdd->qmgr_mem = devm_ioremap_resource(dev, mem);
+       cdd->qmgr_mem = devm_platform_ioremap_resource(pdev, index + 2);
        if (IS_ERR(cdd->qmgr_mem))
                return PTR_ERR(cdd->qmgr_mem);
 
 
 {
        const struct omap_dma_config *conf;
        struct omap_dmadev *od;
-       struct resource *res;
        int rc, i, irq;
        u32 val;
 
        if (!od)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       od->base = devm_ioremap_resource(&pdev->dev, res);
+       od->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(od->base))
                return PTR_ERR(od->base);
 
 
                           struct platform_device *pdev)
 {
        struct zynqmp_dma_chan *chan;
-       struct resource *res;
        struct device_node *node = pdev->dev.of_node;
        int err;
 
        chan->dev = zdev->dev;
        chan->zdev = zdev;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       chan->regs = devm_ioremap_resource(&pdev->dev, res);
+       chan->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(chan->regs))
                return PTR_ERR(chan->regs);