int owl_pinctrl_probe(struct platform_device *pdev,
                                struct owl_pinctrl_soc_data *soc_data)
 {
-       struct resource *res;
        struct owl_pinctrl *pctrl;
        int ret, i;
 
        if (!pctrl)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pctrl->base = devm_ioremap_resource(&pdev->dev, res);
+       pctrl->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pctrl->base))
                return PTR_ERR(pctrl->base);
 
 
 static int __init bcm281xx_pinctrl_probe(struct platform_device *pdev)
 {
        struct bcm281xx_pinctrl_data *pdata = &bcm281xx_pinctrl;
-       struct resource *res;
        struct pinctrl_dev *pctl;
 
        /* So far We can assume there is only 1 bank of registers */
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pdata->reg_base = devm_ioremap_resource(&pdev->dev, res);
+       pdata->reg_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pdata->reg_base)) {
                dev_err(&pdev->dev, "Failed to ioremap MEM resource\n");
                return -ENODEV;
 
 static int cygnus_pinmux_probe(struct platform_device *pdev)
 {
        struct cygnus_pinctrl *pinctrl;
-       struct resource *res;
        int i, ret;
        struct pinctrl_pin_desc *pins;
        unsigned num_pins = ARRAY_SIZE(cygnus_pins);
        platform_set_drvdata(pdev, pinctrl);
        spin_lock_init(&pinctrl->lock);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pinctrl->base0 = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->base0 = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pinctrl->base0)) {
                dev_err(&pdev->dev, "unable to map I/O space\n");
                return PTR_ERR(pinctrl->base0);
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       pinctrl->base1 = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->base1 = devm_platform_ioremap_resource(pdev, 1);
        if (IS_ERR(pinctrl->base1)) {
                dev_err(&pdev->dev, "unable to map I/O space\n");
                return PTR_ERR(pinctrl->base1);
 
        chip->dev = dev;
        platform_set_drvdata(pdev, chip);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       chip->base = devm_ioremap_resource(dev, res);
+       chip->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(chip->base)) {
                dev_err(dev, "unable to map I/O memory\n");
                return PTR_ERR(chip->base);
 
        platform_set_drvdata(pdev, pinctrl);
        spin_lock_init(&pinctrl->lock);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pinctrl->base0 = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->base0 = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pinctrl->base0))
                return PTR_ERR(pinctrl->base0);
 
                return -ENOMEM;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
-       pinctrl->pinconf_base = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->pinconf_base = devm_platform_ioremap_resource(pdev, 2);
        if (IS_ERR(pinctrl->pinconf_base))
                return PTR_ERR(pinctrl->pinconf_base);
 
 
        platform_set_drvdata(pdev, pinctrl);
        spin_lock_init(&pinctrl->lock);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pinctrl->base0 = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->base0 = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pinctrl->base0))
                return PTR_ERR(pinctrl->base0);
 
                return -ENOMEM;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
-       pinctrl->base2 = devm_ioremap_resource(&pdev->dev, res);
+       pinctrl->base2 = devm_platform_ioremap_resource(pdev, 2);
        if (IS_ERR(pinctrl->base2))
                return PTR_ERR(pinctrl->base2);
 
 
 static int artpec6_pmx_probe(struct platform_device *pdev)
 {
        struct artpec6_pmx *pmx;
-       struct resource *res;
 
        pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL);
        if (!pmx)
 
        pmx->dev = &pdev->dev;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pmx->base = devm_ioremap_resource(&pdev->dev, res);
+       pmx->base = devm_platform_ioremap_resource(pdev, 0);
 
        if (IS_ERR(pmx->base))
                return PTR_ERR(pmx->base);
 
        atmel_pioctrl->nbanks = atmel_pioctrl_data->nbanks;
        atmel_pioctrl->npins = atmel_pioctrl->nbanks * ATMEL_PIO_NPINS_PER_BANK;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       atmel_pioctrl->reg_base = devm_ioremap_resource(dev, res);
+       atmel_pioctrl->reg_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(atmel_pioctrl->reg_base))
                return -EINVAL;
 
 
 static int at91_gpio_probe(struct platform_device *pdev)
 {
        struct device_node *np = pdev->dev.of_node;
-       struct resource *res;
        struct at91_gpio_chip *at91_chip = NULL;
        struct gpio_chip *chip;
        struct pinctrl_gpio_range *range;
                goto err;
        }
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       at91_chip->regbase = devm_ioremap_resource(&pdev->dev, res);
+       at91_chip->regbase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(at91_chip->regbase)) {
                ret = PTR_ERR(at91_chip->regbase);
                goto err;
 
 static int bm1880_pinctrl_probe(struct platform_device *pdev)
 
 {
-       struct resource *res;
        struct bm1880_pinctrl *pctrl;
 
        pctrl = devm_kzalloc(&pdev->dev, sizeof(*pctrl), GFP_KERNEL);
        if (!pctrl)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pctrl->base = devm_ioremap_resource(&pdev->dev, res);
+       pctrl->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pctrl->base))
                return PTR_ERR(pctrl->base);
 
 
 static int __init u300_gpio_probe(struct platform_device *pdev)
 {
        struct u300_gpio *gpio;
-       struct resource *memres;
        struct gpio_irq_chip *girq;
        int err = 0;
        int portno;
        gpio->chip.base = 0;
        gpio->dev = &pdev->dev;
 
-       memres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       gpio->base = devm_ioremap_resource(&pdev->dev, memres);
+       gpio->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(gpio->base))
                return PTR_ERR(gpio->base);
 
 
 {
        struct device *dev = &pdev->dev;
        struct da850_pupd_data *data;
-       struct resource *res;
 
        data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
        if (!data)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       data->base = devm_ioremap_resource(dev, res);
+       data->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(data->base)) {
                dev_err(dev, "Could not map resource\n");
                return PTR_ERR(data->base);
 
 static int dc_pinctrl_probe(struct platform_device *pdev)
 {
        struct dc_pinmap *pmap;
-       struct resource *r;
        struct pinctrl_pin_desc *pins;
        struct pinctrl_desc *pctl_desc;
        char *pin_names;
        if (!pmap)
                return -ENOMEM;
 
-       r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pmap->regs = devm_ioremap_resource(&pdev->dev, r);
+       pmap->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pmap->regs))
                return PTR_ERR(pmap->regs);
 
 
 static int lpc18xx_scu_probe(struct platform_device *pdev)
 {
        struct lpc18xx_scu_data *scu;
-       struct resource *res;
        int ret;
 
        scu = devm_kzalloc(&pdev->dev, sizeof(*scu), GFP_KERNEL);
        if (!scu)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       scu->base = devm_ioremap_resource(&pdev->dev, res);
+       scu->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(scu->base))
                return PTR_ERR(scu->base);
 
 
        struct oxnas_gpio_bank *bank;
        unsigned int id, ngpios;
        int irq, ret;
-       struct resource *res;
        struct gpio_irq_chip *girq;
 
        if (of_parse_phandle_with_fixed_args(np, "gpio-ranges",
 
        bank = &oxnas_gpio_banks[id];
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       bank->reg_base = devm_ioremap_resource(&pdev->dev, res);
+       bank->reg_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(bank->reg_base))
                return PTR_ERR(bank->reg_base);
 
 
        struct pic32_gpio_bank *bank;
        u32 id;
        int irq, ret;
-       struct resource *res;
        struct gpio_irq_chip *girq;
 
        if (of_property_read_u32(np, "microchip,gpio-bank", &id)) {
 
        bank = &pic32_gpio_banks[id];
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       bank->reg_base = devm_ioremap_resource(&pdev->dev, res);
+       bank->reg_base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(bank->reg_base))
                return PTR_ERR(bank->reg_base);
 
 
 static int pistachio_pinctrl_probe(struct platform_device *pdev)
 {
        struct pistachio_pinctrl *pctl;
-       struct resource *res;
 
        pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL);
        if (!pctl)
        pctl->dev = &pdev->dev;
        dev_set_drvdata(&pdev->dev, pctl);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pctl->base = devm_ioremap_resource(&pdev->dev, res);
+       pctl->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pctl->base))
                return PTR_ERR(pctl->base);
 
 
 static int rza2_pinctrl_probe(struct platform_device *pdev)
 {
        struct rza2_pinctrl_priv *priv;
-       struct resource *res;
        int ret;
 
        priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 
        priv->dev = &pdev->dev;
 
-       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);
 
 
 static int tb10x_pinctrl_probe(struct platform_device *pdev)
 {
        int ret = -EINVAL;
-       struct resource *mem;
        struct device *dev = &pdev->dev;
        struct device_node *of_node = dev->of_node;
        struct device_node *child;
        platform_set_drvdata(pdev, state);
        mutex_init(&state->mutex);
 
-       mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       state->base = devm_ioremap_resource(dev, mem);
+       state->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(state->base)) {
                ret = PTR_ERR(state->base);
                goto fail;
 
 static int u300_pmx_probe(struct platform_device *pdev)
 {
        struct u300_pmx *upmx;
-       struct resource *res;
 
        /* Create state holders etc for this driver */
        upmx = devm_kzalloc(&pdev->dev, sizeof(*upmx), GFP_KERNEL);
 
        upmx->dev = &pdev->dev;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       upmx->virtbase = devm_ioremap_resource(&pdev->dev, res);
+       upmx->virtbase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(upmx->virtbase))
                return PTR_ERR(upmx->virtbase);
 
 
 {
        const struct of_device_id *match;
        const struct pinctrl_xway_soc *xway_soc;
-       struct resource *res;
        int ret, i;
 
        /* get and remap our register range */
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       xway_info.membase[0] = devm_ioremap_resource(&pdev->dev, res);
+       xway_info.membase[0] = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(xway_info.membase[0]))
                return PTR_ERR(xway_info.membase[0]);
 
 
        void __iomem *base_af[8];
        void __iomem *base_dir[4];
        void __iomem *base_sleep[4];
-       struct resource *res;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       base_af[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_af[0] = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(base_af[0]))
                return PTR_ERR(base_af[0]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       base_dir[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_dir[0] = devm_platform_ioremap_resource(pdev, 1);
        if (IS_ERR(base_dir[0]))
                return PTR_ERR(base_dir[0]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
-       base_dir[3] = devm_ioremap_resource(&pdev->dev, res);
+       base_dir[3] = devm_platform_ioremap_resource(pdev, 2);
        if (IS_ERR(base_dir[3]))
                return PTR_ERR(base_dir[3]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 3);
-       base_sleep[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_sleep[0] = devm_platform_ioremap_resource(pdev, 3);
        if (IS_ERR(base_sleep[0]))
                return PTR_ERR(base_sleep[0]);
 
 
        void __iomem *base_af[8];
        void __iomem *base_dir[4];
        void __iomem *base_sleep[4];
-       struct resource *res;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       base_af[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_af[0] = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(base_af[0]))
                return PTR_ERR(base_af[0]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       base_dir[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_dir[0] = devm_platform_ioremap_resource(pdev, 1);
        if (IS_ERR(base_dir[0]))
                return PTR_ERR(base_dir[0]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
-       base_dir[3] = devm_ioremap_resource(&pdev->dev, res);
+       base_dir[3] = devm_platform_ioremap_resource(pdev, 2);
        if (IS_ERR(base_dir[3]))
                return PTR_ERR(base_dir[3]);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 3);
-       base_sleep[0] = devm_ioremap_resource(&pdev->dev, res);
+       base_sleep[0] = devm_platform_ioremap_resource(pdev, 3);
        if (IS_ERR(base_sleep[0]))
                return PTR_ERR(base_sleep[0]);
 
 
                                return PTR_ERR(pctrl->regs[i]);
                }
        } else {
-               res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-               pctrl->regs[0] = devm_ioremap_resource(&pdev->dev, res);
+               pctrl->regs[0] = devm_platform_ioremap_resource(pdev, 0);
                if (IS_ERR(pctrl->regs[0]))
                        return PTR_ERR(pctrl->regs[0]);
        }
 
 static int plgpio_probe(struct platform_device *pdev)
 {
        struct plgpio *plgpio;
-       struct resource *res;
        int ret, irq;
 
        plgpio = devm_kzalloc(&pdev->dev, sizeof(*plgpio), GFP_KERNEL);
        if (!plgpio)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       plgpio->base = devm_ioremap_resource(&pdev->dev, res);
+       plgpio->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(plgpio->base))
                return PTR_ERR(plgpio->base);
 
 
                        struct spear_pinctrl_machdata *machdata)
 {
        struct device_node *np = pdev->dev.of_node;
-       struct resource *res;
        struct spear_pmx *pmx;
 
        if (!machdata)
        if (!pmx)
                return -ENOMEM;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pmx->vbase = devm_ioremap_resource(&pdev->dev, res);
+       pmx->vbase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pmx->vbase))
                return PTR_ERR(pmx->vbase);
 
 
        struct pinctrl_pin_desc *pins;
        struct sunxi_pinctrl *pctl;
        struct pinmux_ops *pmxops;
-       struct resource *res;
        int i, ret, last_pin, pin_idx;
        struct clk *clk;
 
 
        raw_spin_lock_init(&pctl->lock);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       pctl->membase = devm_ioremap_resource(&pdev->dev, res);
+       pctl->membase = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(pctl->membase))
                return PTR_ERR(pctl->membase);
 
 
 {
        struct tegra_xusb_padctl *padctl;
        const struct of_device_id *match;
-       struct resource *res;
        struct phy *phy;
        int err;
 
        match = of_match_node(tegra_xusb_padctl_of_match, pdev->dev.of_node);
        padctl->soc = match->data;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       padctl->regs = devm_ioremap_resource(&pdev->dev, res);
+       padctl->regs = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(padctl->regs))
                return PTR_ERR(padctl->regs);
 
 
                return -ENOMEM;
 
        for (i = 0; i < pmx->nbanks; i++) {
-               res = platform_get_resource(pdev, IORESOURCE_MEM, i);
-               pmx->regs[i] = devm_ioremap_resource(&pdev->dev, res);
+               pmx->regs[i] = devm_platform_ioremap_resource(pdev, i);
                if (IS_ERR(pmx->regs[i]))
                        return PTR_ERR(pmx->regs[i]);
        }
 
                      struct wmt_pinctrl_data *data)
 {
        int err;
-       struct resource *res;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       data->base = devm_ioremap_resource(&pdev->dev, res);
+       data->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(data->base))
                return PTR_ERR(data->base);
 
 
        struct pinctrl_desc *pctldesc;
        struct zx_pinctrl *zpctl;
        struct device_node *np;
-       struct resource *res;
        int ret;
 
        zpctl = devm_kzalloc(&pdev->dev, sizeof(*zpctl), GFP_KERNEL);
 
        spin_lock_init(&zpctl->lock);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       zpctl->base = devm_ioremap_resource(&pdev->dev, res);
+       zpctl->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(zpctl->base))
                return PTR_ERR(zpctl->base);