Hi Greg,

On 2017/12/19 18:52, Yisheng Xie wrote:
> Hi Greg,
> 
> On 2017/12/19 16:46, Greg KH wrote:
>> On Sat, Nov 25, 2017 at 05:23:33PM +0800, Yisheng Xie wrote:
>>> Default ioremap is ioremap_nocache, so devm_ioremap has the same function
>>> with devm_ioremap_nocache, which may just be killed. However, there are
>>> many places which use devm_ioremap_nocache, while many use devm_ioremap.
>>>
>>> This patch is to use MACRO for devm_ioremap, which will reduce the size of
>>> devres.o from 206824 Bytes to 203768 Bytes.
>>
>> Ok, the idea is good, but why not just get rid of the callers of
>> devm_ioremap_nocache() instead and have them call devm_ioremap() if they
>> really are the same thing?  No need to keep a macro around for the
>> duplicate thing, just delete the one and things are much better.
> 
> Yeah, I thought someone may still want to use devm_ioremap_nocache().
> 
> I will take your suggestion in next version and kill devm_ioremap_nocache().

I am trying to kill devm_ioremap_nocache() as your suggestion, however, if
put it as a single patch it will be a patch really big (the patch file may
have more than 1k lines), for many places will use devm_ioremap_nocache().
But it also makes me fell uncomfortable to separate it to so many litter
patchs for a litter optimize. :)

So I put the v3 patch in the attachment, please let me know if I should
separate it to litter patchs :)

Thanks
Yisheng Xie

>From cf658860f12df005b49b70203225aa6a74a74b5d Mon Sep 17 00:00:00 2001
From: Yisheng Xie <xieyishe...@huawei.com>
Date: Thu, 21 Dec 2017 18:47:23 +0800
Subject: [PATCH v3] devres: kill devm_ioremap_nomap

Default ioremap is ioremap_nocache_nocache, so devm_ioremap has the same
function with devm_ioremap, which can just be killed. And this will reduce
the size of devres.o from 206824 Bytes to 203768 Bytes.

Signed-off-by: Yisheng Xie <xieyishe...@huawei.com>
---
 Documentation/driver-model/devres.txt           |  1 -
 arch/mips/pci/pci-ar2315.c                      |  4 ++--
 drivers/ata/pata_arasan_cf.c                    |  2 +-
 drivers/ata/pata_octeon_cf.c                    | 12 +++++-----
 drivers/ata/pata_rb532_cf.c                     |  2 +-
 drivers/char/hw_random/bcm63xx-rng.c            |  4 ++--
 drivers/char/hw_random/octeon-rng.c             | 12 +++++-----
 drivers/dma/altera-msgdma.c                     |  4 ++--
 drivers/dma/sprd-dma.c                          |  3 +--
 drivers/gpio/gpio-ath79.c                       |  3 +--
 drivers/gpio/gpio-em.c                          |  8 +++----
 drivers/gpio/gpio-htc-egpio.c                   |  4 ++--
 drivers/gpio/gpio-xgene.c                       |  3 +--
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c |  2 +-
 drivers/gpu/drm/msm/msm_drv.c                   |  2 +-
 drivers/gpu/drm/sti/sti_dvo.c                   |  3 +--
 drivers/gpu/drm/sti/sti_hda.c                   |  4 ++--
 drivers/gpu/drm/sti/sti_hdmi.c                  |  2 +-
 drivers/gpu/drm/sti/sti_tvout.c                 |  2 +-
 drivers/gpu/drm/sti/sti_vtg.c                   |  2 +-
 drivers/ipack/devices/ipoctal.c                 | 13 +++++------
 drivers/irqchip/irq-renesas-intc-irqpin.c       |  4 ++--
 drivers/media/platform/tegra-cec/tegra_cec.c    |  4 ++--
 drivers/mmc/host/sdhci-acpi.c                   |  4 ++--
 drivers/mtd/nand/fsl_upm.c                      |  4 ++--
 drivers/net/can/sja1000/sja1000_platform.c      |  4 ++--
 drivers/net/ethernet/altera/altera_tse_main.c   |  3 +--
 drivers/net/ethernet/ethoc.c                    |  4 ++--
 drivers/net/ethernet/lantiq_etop.c              |  2 +-
 drivers/net/ethernet/ti/netcp_core.c            |  2 +-
 drivers/net/wireless/ath/ath9k/ahb.c            |  2 +-
 drivers/pci/dwc/pci-dra7xx.c                    |  2 +-
 drivers/pinctrl/bcm/pinctrl-ns2-mux.c           |  4 ++--
 drivers/pinctrl/bcm/pinctrl-nsp-mux.c           |  4 ++--
 drivers/pinctrl/freescale/pinctrl-imx1-core.c   |  2 +-
 drivers/pinctrl/pinctrl-amd.c                   |  4 ++--
 drivers/platform/x86/intel_pmc_core.c           |  6 ++---
 drivers/regulator/ti-abb-regulator.c            |  8 +++----
 drivers/rtc/rtc-sh.c                            |  4 ++--
 drivers/spi/spi-jcore.c                         |  3 +--
 drivers/staging/fsl-mc/bus/mc-io.c              |  8 +++----
 drivers/tty/mips_ejtag_fdc.c                    |  4 ++--
 drivers/tty/serial/8250/8250_omap.c             |  3 +--
 drivers/tty/serial/lantiq.c                     |  2 +-
 drivers/tty/serial/meson_uart.c                 |  4 ++--
 drivers/tty/serial/owl-uart.c                   |  2 +-
 drivers/tty/serial/pic32_uart.c                 |  4 ++--
 drivers/video/fbdev/mbx/mbxfb.c                 | 10 ++++-----
 drivers/video/fbdev/mmp/hw/mmp_ctrl.c           |  2 +-
 drivers/video/fbdev/pxa168fb.c                  |  4 ++--
 drivers/watchdog/bcm63xx_wdt.c                  |  4 ++--
 drivers/watchdog/rc32434_wdt.c                  |  4 ++--
 include/linux/io.h                              |  2 --
 lib/devres.c                                    | 29 -------------------------
 scripts/coccinelle/free/devm_free.cocci         |  2 --
 sound/soc/au1x/ac97c.c                          |  4 ++--
 sound/soc/au1x/i2sc.c                           |  4 ++--
 sound/soc/intel/atom/sst/sst_acpi.c             | 20 ++++++++---------
 sound/soc/intel/boards/mfld_machine.c           |  4 ++--
 sound/soc/sh/fsi.c                              |  3 +--
 tools/testing/nvdimm/Kbuild                     |  2 +-
 tools/testing/nvdimm/test/iomap.c               |  2 +-
 62 files changed, 121 insertions(+), 164 deletions(-)

diff --git a/Documentation/driver-model/devres.txt 
b/Documentation/driver-model/devres.txt
index c180045..c3fddb5 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -292,7 +292,6 @@ IOMAP
   devm_ioport_map()
   devm_ioport_unmap()
   devm_ioremap()
-  devm_ioremap_nocache()
   devm_ioremap_wc()
   devm_ioremap_resource() : checks resource, requests memory region, ioremaps
   devm_iounmap()
diff --git a/arch/mips/pci/pci-ar2315.c b/arch/mips/pci/pci-ar2315.c
index b4fa641..b5f3094 100644
--- a/arch/mips/pci/pci-ar2315.c
+++ b/arch/mips/pci/pci-ar2315.c
@@ -428,8 +428,8 @@ static int ar2315_pci_probe(struct platform_device *pdev)
        apc->mem_res.flags = IORESOURCE_MEM;
 
        /* Remap PCI config space */
-       apc->cfg_mem = devm_ioremap_nocache(dev, res->start,
-                                           AR2315_PCI_CFG_SIZE);
+       apc->cfg_mem = devm_ioremap(dev, res->start,
+                                   AR2315_PCI_CFG_SIZE);
        if (!apc->cfg_mem) {
                dev_err(dev, "failed to remap PCI config space\n");
                return -ENOMEM;
diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c
index b4d5477..6fee9fa 100644
--- a/drivers/ata/pata_arasan_cf.c
+++ b/drivers/ata/pata_arasan_cf.c
@@ -827,7 +827,7 @@ static int arasan_cf_probe(struct platform_device *pdev)
                quirk |= CF_BROKEN_MWDMA | CF_BROKEN_UDMA;
 
        acdev->pbase = res->start;
-       acdev->vbase = devm_ioremap_nocache(&pdev->dev, res->start,
+       acdev->vbase = devm_ioremap(&pdev->dev, res->start,
                        resource_size(res));
        if (!acdev->vbase) {
                dev_warn(&pdev->dev, "ioremap fail\n");
diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
index d3d851b..b1db5c1 100644
--- a/drivers/ata/pata_octeon_cf.c
+++ b/drivers/ata/pata_octeon_cf.c
@@ -891,8 +891,8 @@ static int octeon_cf_probe(struct platform_device *pdev)
                                        of_node_put(dma_node);
                                        return -EINVAL;
                                }
-                               cf_port->dma_base = 
(u64)devm_ioremap_nocache(&pdev->dev, res_dma->start,
-                                                                        
resource_size(res_dma));
+                               cf_port->dma_base = 
(u64)devm_ioremap(&pdev->dev, res_dma->start,
+                                                                
resource_size(res_dma));
                                if (!cf_port->dma_base) {
                                        of_node_put(dma_node);
                                        return -EINVAL;
@@ -909,8 +909,8 @@ static int octeon_cf_probe(struct platform_device *pdev)
                if (!res_cs1)
                        return -EINVAL;
 
-               cs1 = devm_ioremap_nocache(&pdev->dev, res_cs1->start,
-                                          resource_size(res_cs1));
+               cs1 = devm_ioremap(&pdev->dev, res_cs1->start,
+                                  resource_size(res_cs1));
                if (!cs1)
                        return rv;
 
@@ -925,8 +925,8 @@ static int octeon_cf_probe(struct platform_device *pdev)
        if (!res_cs0)
                return -EINVAL;
 
-       cs0 = devm_ioremap_nocache(&pdev->dev, res_cs0->start,
-                                  resource_size(res_cs0));
+       cs0 = devm_ioremap(&pdev->dev, res_cs0->start,
+                          resource_size(res_cs0));
        if (!cs0)
                return rv;
 
diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c
index 653b9a0..af57298 100644
--- a/drivers/ata/pata_rb532_cf.c
+++ b/drivers/ata/pata_rb532_cf.c
@@ -156,7 +156,7 @@ static int rb532_pata_driver_probe(struct platform_device 
*pdev)
        info->gpio_line = gpio;
        info->irq = irq;
 
-       info->iobase = devm_ioremap_nocache(&pdev->dev, res->start,
+       info->iobase = devm_ioremap(&pdev->dev, res->start,
                                resource_size(res));
        if (!info->iobase)
                return -ENOMEM;
diff --git a/drivers/char/hw_random/bcm63xx-rng.c 
b/drivers/char/hw_random/bcm63xx-rng.c
index 5132c9c..3b2af90 100644
--- a/drivers/char/hw_random/bcm63xx-rng.c
+++ b/drivers/char/hw_random/bcm63xx-rng.c
@@ -112,8 +112,8 @@ static int bcm63xx_rng_probe(struct platform_device *pdev)
                return -EBUSY;
        }
 
-       priv->regs = devm_ioremap_nocache(&pdev->dev, r->start,
-                                       resource_size(r));
+       priv->regs = devm_ioremap(&pdev->dev, r->start,
+                               resource_size(r));
        if (!priv->regs) {
                dev_err(&pdev->dev, "ioremap failed");
                return -ENOMEM;
diff --git a/drivers/char/hw_random/octeon-rng.c 
b/drivers/char/hw_random/octeon-rng.c
index 8c78aa0..d32e01a 100644
--- a/drivers/char/hw_random/octeon-rng.c
+++ b/drivers/char/hw_random/octeon-rng.c
@@ -81,15 +81,15 @@ static int octeon_rng_probe(struct platform_device *pdev)
                return -ENOENT;
 
 
-       rng->control_status = devm_ioremap_nocache(&pdev->dev,
-                                                  res_ports->start,
-                                                  sizeof(u64));
+       rng->control_status = devm_ioremap(&pdev->dev,
+                                          res_ports->start,
+                                          sizeof(u64));
        if (!rng->control_status)
                return -ENOENT;
 
-       rng->result = devm_ioremap_nocache(&pdev->dev,
-                                          res_result->start,
-                                          sizeof(u64));
+       rng->result = devm_ioremap(&pdev->dev,
+                                  res_result->start,
+                                  sizeof(u64));
        if (!rng->result)
                return -ENOENT;
 
diff --git a/drivers/dma/altera-msgdma.c b/drivers/dma/altera-msgdma.c
index 55f9c62..df81e2c 100644
--- a/drivers/dma/altera-msgdma.c
+++ b/drivers/dma/altera-msgdma.c
@@ -776,8 +776,8 @@ static int request_and_map(struct platform_device *pdev, 
const char *name,
                return -EBUSY;
        }
 
-       *ptr = devm_ioremap_nocache(device, region->start,
-                                   resource_size(region));
+       *ptr = devm_ioremap(device, region->start,
+                           resource_size(region));
        if (*ptr == NULL) {
                dev_err(device, "ioremap_nocache of %s failed!", name);
                return -ENOMEM;
diff --git a/drivers/dma/sprd-dma.c b/drivers/dma/sprd-dma.c
index b652071..1a0fb0b 100644
--- a/drivers/dma/sprd-dma.c
+++ b/drivers/dma/sprd-dma.c
@@ -842,8 +842,7 @@ static int sprd_dma_probe(struct platform_device *pdev)
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       sdev->glb_base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                             resource_size(res));
+       sdev->glb_base = devm_ioremap(&pdev->dev, res->start, 
resource_size(res));
        if (!sdev->glb_base)
                return -ENOMEM;
 
diff --git a/drivers/gpio/gpio-ath79.c b/drivers/gpio/gpio-ath79.c
index 5fad89d..7af2457 100644
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -258,8 +258,7 @@ static int ath79_gpio_probe(struct platform_device *pdev)
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       ctrl->base = devm_ioremap_nocache(
-               &pdev->dev, res->start, resource_size(res));
+       ctrl->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
        if (!ctrl->base)
                return -ENOMEM;
 
diff --git a/drivers/gpio/gpio-em.c b/drivers/gpio/gpio-em.c
index b86e09e..3f08570 100644
--- a/drivers/gpio/gpio-em.c
+++ b/drivers/gpio/gpio-em.c
@@ -300,16 +300,16 @@ static int em_gio_probe(struct platform_device *pdev)
                goto err0;
        }
 
-       p->base0 = devm_ioremap_nocache(&pdev->dev, io[0]->start,
-                                       resource_size(io[0]));
+       p->base0 = devm_ioremap(&pdev->dev, io[0]->start,
+                               resource_size(io[0]));
        if (!p->base0) {
                dev_err(&pdev->dev, "failed to remap low I/O memory\n");
                ret = -ENXIO;
                goto err0;
        }
 
-       p->base1 = devm_ioremap_nocache(&pdev->dev, io[1]->start,
-                                  resource_size(io[1]));
+       p->base1 = devm_ioremap(&pdev->dev, io[1]->start,
+                               resource_size(io[1]));
        if (!p->base1) {
                dev_err(&pdev->dev, "failed to remap high I/O memory\n");
                ret = -ENXIO;
diff --git a/drivers/gpio/gpio-htc-egpio.c b/drivers/gpio/gpio-htc-egpio.c
index 271356e..ea3a2ee 100644
--- a/drivers/gpio/gpio-htc-egpio.c
+++ b/drivers/gpio/gpio-htc-egpio.c
@@ -299,8 +299,8 @@ static int __init egpio_probe(struct platform_device *pdev)
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res)
                goto fail;
-       ei->base_addr = devm_ioremap_nocache(&pdev->dev, res->start,
-                                            resource_size(res));
+       ei->base_addr = devm_ioremap(&pdev->dev, res->start,
+                                    resource_size(res));
        if (!ei->base_addr)
                goto fail;
        pr_debug("EGPIO phys=%08x virt=%p\n", (u32)res->start, ei->base_addr);
diff --git a/drivers/gpio/gpio-xgene.c b/drivers/gpio/gpio-xgene.c
index f1c6ec1..9898c83 100644
--- a/drivers/gpio/gpio-xgene.c
+++ b/drivers/gpio/gpio-xgene.c
@@ -182,8 +182,7 @@ static int xgene_gpio_probe(struct platform_device *pdev)
                goto err;
        }
 
-       gpio->base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                                       resource_size(res));
+       gpio->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
        if (!gpio->base) {
                err = -ENOMEM;
                goto err;
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index d4f6f1f..242e14f 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -237,7 +237,7 @@ static int hibmc_hw_map(struct hibmc_drm_private *priv)
 
        ioaddr = pci_resource_start(pdev, 1);
        iosize = pci_resource_len(pdev, 1);
-       priv->mmio = devm_ioremap_nocache(dev->dev, ioaddr, iosize);
+       priv->mmio = devm_ioremap(dev->dev, ioaddr, iosize);
        if (!priv->mmio) {
                DRM_ERROR("Cannot map mmio region\n");
                return -ENOMEM;
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 0a3ea30..5622704 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -122,7 +122,7 @@ void __iomem *msm_ioremap(struct platform_device *pdev, 
const char *name,
 
        size = resource_size(res);
 
-       ptr = devm_ioremap_nocache(&pdev->dev, res->start, size);
+       ptr = devm_ioremap(&pdev->dev, res->start, size);
        if (!ptr) {
                dev_err(&pdev->dev, "failed to ioremap: %s\n", name);
                return ERR_PTR(-ENOMEM);
diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
index 83314ae..81781c5 100644
--- a/drivers/gpu/drm/sti/sti_dvo.c
+++ b/drivers/gpu/drm/sti/sti_dvo.c
@@ -532,8 +532,7 @@ static int sti_dvo_probe(struct platform_device *pdev)
                DRM_ERROR("Invalid dvo resource\n");
                return -ENOMEM;
        }
-       dvo->regs = devm_ioremap_nocache(dev, res->start,
-                       resource_size(res));
+       dvo->regs = devm_ioremap(dev, res->start, resource_size(res));
        if (!dvo->regs)
                return -ENOMEM;
 
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index cf65e32..a3b46c5 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -755,14 +755,14 @@ static int sti_hda_probe(struct platform_device *pdev)
                DRM_ERROR("Invalid hda resource\n");
                return -ENOMEM;
        }
-       hda->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
+       hda->regs = devm_ioremap(dev, res->start, resource_size(res));
        if (!hda->regs)
                return -ENOMEM;
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
                        "video-dacs-ctrl");
        if (res) {
-               hda->video_dacs_ctrl = devm_ioremap_nocache(dev, res->start,
+               hda->video_dacs_ctrl = devm_ioremap(dev, res->start,
                                resource_size(res));
                if (!hda->video_dacs_ctrl)
                        return -ENOMEM;
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 30f02d2..ca720b8 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -1371,7 +1371,7 @@ static int sti_hdmi_probe(struct platform_device *pdev)
                ret = -ENOMEM;
                goto release_adapter;
        }
-       hdmi->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
+       hdmi->regs = devm_ioremap(dev, res->start, resource_size(res));
        if (!hdmi->regs) {
                ret = -ENOMEM;
                goto release_adapter;
diff --git a/drivers/gpu/drm/sti/sti_tvout.c b/drivers/gpu/drm/sti/sti_tvout.c
index 8959fcc..fa1c7a8 100644
--- a/drivers/gpu/drm/sti/sti_tvout.c
+++ b/drivers/gpu/drm/sti/sti_tvout.c
@@ -852,7 +852,7 @@ static int sti_tvout_probe(struct platform_device *pdev)
                DRM_ERROR("Invalid glue resource\n");
                return -ENOMEM;
        }
-       tvout->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
+       tvout->regs = devm_ioremap(dev, res->start, resource_size(res));
        if (!tvout->regs)
                return -ENOMEM;
 
diff --git a/drivers/gpu/drm/sti/sti_vtg.c b/drivers/gpu/drm/sti/sti_vtg.c
index 2dcba1d..996cbe38 100644
--- a/drivers/gpu/drm/sti/sti_vtg.c
+++ b/drivers/gpu/drm/sti/sti_vtg.c
@@ -406,7 +406,7 @@ static int vtg_probe(struct platform_device *pdev)
                DRM_ERROR("Get memory resource failed\n");
                return -ENOMEM;
        }
-       vtg->regs = devm_ioremap_nocache(dev, res->start, resource_size(res));
+       vtg->regs = devm_ioremap(dev, res->start, resource_size(res));
        if (!vtg->regs) {
                DRM_ERROR("failed to remap I/O memory\n");
                return -ENOMEM;
diff --git a/drivers/ipack/devices/ipoctal.c b/drivers/ipack/devices/ipoctal.c
index 75dd15d..bf3d0e4 100644
--- a/drivers/ipack/devices/ipoctal.c
+++ b/drivers/ipack/devices/ipoctal.c
@@ -279,8 +279,8 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, 
unsigned int bus_nr,
        ipoctal->board_id = ipoctal->dev->id_device;
 
        region = &ipoctal->dev->region[IPACK_IO_SPACE];
-       addr = devm_ioremap_nocache(&ipoctal->dev->dev,
-                                   region->start, region->size);
+       addr = devm_ioremap(&ipoctal->dev->dev,
+                           region->start, region->size);
        if (!addr) {
                dev_err(&ipoctal->dev->dev,
                        "Unable to map slot [%d:%d] IO space!\n",
@@ -295,8 +295,8 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, 
unsigned int bus_nr,
 
        region = &ipoctal->dev->region[IPACK_INT_SPACE];
        ipoctal->int_space =
-               devm_ioremap_nocache(&ipoctal->dev->dev,
-                                    region->start, region->size);
+               devm_ioremap(&ipoctal->dev->dev,
+                            region->start, region->size);
        if (!ipoctal->int_space) {
                dev_err(&ipoctal->dev->dev,
                        "Unable to map slot [%d:%d] INT space!\n",
@@ -305,9 +305,8 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, 
unsigned int bus_nr,
        }
 
        region = &ipoctal->dev->region[IPACK_MEM8_SPACE];
-       ipoctal->mem8_space =
-               devm_ioremap_nocache(&ipoctal->dev->dev,
-                                    region->start, 0x8000);
+       ipoctal->mem8_space = devm_ioremap(&ipoctal->dev->dev,
+                                          region->start, 0x8000);
        if (!ipoctal->mem8_space) {
                dev_err(&ipoctal->dev->dev,
                        "Unable to map slot [%d:%d] MEM8 space!\n",
diff --git a/drivers/irqchip/irq-renesas-intc-irqpin.c 
b/drivers/irqchip/irq-renesas-intc-irqpin.c
index 06f29cf..a837fb2 100644
--- a/drivers/irqchip/irq-renesas-intc-irqpin.c
+++ b/drivers/irqchip/irq-renesas-intc-irqpin.c
@@ -491,8 +491,8 @@ static int intc_irqpin_probe(struct platform_device *pdev)
                        goto err0;
                }
 
-               i->iomem = devm_ioremap_nocache(dev, io[k]->start,
-                                               resource_size(io[k]));
+               i->iomem = devm_ioremap(dev, io[k]->start,
+                                       resource_size(io[k]));
                if (!i->iomem) {
                        dev_err(dev, "failed to remap IOMEM\n");
                        ret = -ENXIO;
diff --git a/drivers/media/platform/tegra-cec/tegra_cec.c 
b/drivers/media/platform/tegra-cec/tegra_cec.c
index 807c94c..425728a 100644
--- a/drivers/media/platform/tegra-cec/tegra_cec.c
+++ b/drivers/media/platform/tegra-cec/tegra_cec.c
@@ -371,8 +371,8 @@ static int tegra_cec_probe(struct platform_device *pdev)
        if (cec->tegra_cec_irq <= 0)
                return -EBUSY;
 
-       cec->cec_base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                            resource_size(res));
+       cec->cec_base = devm_ioremap(&pdev->dev, res->start,
+                                    resource_size(res));
 
        if (!cec->cec_base) {
                dev_err(&pdev->dev, "Unable to grab IOs for device\n");
diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c
index b988997..a6e89c3 100644
--- a/drivers/mmc/host/sdhci-acpi.c
+++ b/drivers/mmc/host/sdhci-acpi.c
@@ -567,8 +567,8 @@ static int sdhci_acpi_probe(struct platform_device *pdev)
        host->ops       = &sdhci_acpi_ops_dflt;
        host->irq       = platform_get_irq(pdev, 0);
 
-       host->ioaddr = devm_ioremap_nocache(dev, iomem->start,
-                                           resource_size(iomem));
+       host->ioaddr = devm_ioremap(dev, iomem->start,
+                                   resource_size(iomem));
        if (host->ioaddr == NULL) {
                err = -ENOMEM;
                goto err_free;
diff --git a/drivers/mtd/nand/fsl_upm.c b/drivers/mtd/nand/fsl_upm.c
index a88e2cf..30a8e9f 100644
--- a/drivers/mtd/nand/fsl_upm.c
+++ b/drivers/mtd/nand/fsl_upm.c
@@ -291,8 +291,8 @@ static int fun_probe(struct platform_device *ofdev)
                fun->wait_flags = FSL_UPM_WAIT_RUN_PATTERN |
                                  FSL_UPM_WAIT_WRITE_BYTE;
 
-       fun->io_base = devm_ioremap_nocache(&ofdev->dev, io_res.start,
-                                           resource_size(&io_res));
+       fun->io_base = devm_ioremap(&ofdev->dev, io_res.start,
+                                   resource_size(&io_res));
        if (!fun->io_base) {
                ret = -ENOMEM;
                goto err2;
diff --git a/drivers/net/can/sja1000/sja1000_platform.c 
b/drivers/net/can/sja1000/sja1000_platform.c
index dc9c6db..c59500c 100644
--- a/drivers/net/can/sja1000/sja1000_platform.c
+++ b/drivers/net/can/sja1000/sja1000_platform.c
@@ -240,8 +240,8 @@ static int sp_probe(struct platform_device *pdev)
                                     resource_size(res_mem), DRV_NAME))
                return -EBUSY;
 
-       addr = devm_ioremap_nocache(&pdev->dev, res_mem->start,
-                                   resource_size(res_mem));
+       addr = devm_ioremap(&pdev->dev, res_mem->start,
+                           resource_size(res_mem));
        if (!addr)
                return -ENOMEM;
 
diff --git a/drivers/net/ethernet/altera/altera_tse_main.c 
b/drivers/net/ethernet/altera/altera_tse_main.c
index 527908c..9415211 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1344,8 +1344,7 @@ static int request_and_map(struct platform_device *pdev, 
const char *name,
                return -EBUSY;
        }
 
-       *ptr = devm_ioremap_nocache(device, region->start,
-                                   resource_size(region));
+       *ptr = devm_ioremap(device, region->start, resource_size(region));
        if (*ptr == NULL) {
                dev_err(device, "ioremap_nocache of %s failed!", name);
                return -ENOMEM;
diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
index 8bb0db9..6eb73ac 100644
--- a/drivers/net/ethernet/ethoc.c
+++ b/drivers/net/ethernet/ethoc.c
@@ -1093,7 +1093,7 @@ static int ethoc_probe(struct platform_device *pdev)
        priv = netdev_priv(netdev);
        priv->netdev = netdev;
 
-       priv->iobase = devm_ioremap_nocache(&pdev->dev, netdev->base_addr,
+       priv->iobase = devm_ioremap(&pdev->dev, netdev->base_addr,
                        resource_size(mmio));
        if (!priv->iobase) {
                dev_err(&pdev->dev, "cannot remap I/O memory space\n");
@@ -1102,7 +1102,7 @@ static int ethoc_probe(struct platform_device *pdev)
        }
 
        if (netdev->mem_end) {
-               priv->membase = devm_ioremap_nocache(&pdev->dev,
+               priv->membase = devm_ioremap(&pdev->dev,
                        netdev->mem_start, resource_size(mem));
                if (!priv->membase) {
                        dev_err(&pdev->dev, "cannot remap memory space\n");
diff --git a/drivers/net/ethernet/lantiq_etop.c 
b/drivers/net/ethernet/lantiq_etop.c
index afc8100..9f946fc 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -670,7 +670,7 @@ struct ltq_etop_priv {
                goto err_out;
        }
 
-       ltq_etop_membase = devm_ioremap_nocache(&pdev->dev,
+       ltq_etop_membase = devm_ioremap(&pdev->dev,
                res->start, resource_size(res));
        if (!ltq_etop_membase) {
                dev_err(&pdev->dev, "failed to remap etop engine %d\n",
diff --git a/drivers/net/ethernet/ti/netcp_core.c 
b/drivers/net/ethernet/ti/netcp_core.c
index ed58c74..efa83a3 100644
--- a/drivers/net/ethernet/ti/netcp_core.c
+++ b/drivers/net/ethernet/ti/netcp_core.c
@@ -2021,7 +2021,7 @@ static int netcp_create_interface(struct netcp_device 
*netcp_device,
                        goto quit;
                }
 
-               efuse = devm_ioremap_nocache(dev, res.start, size);
+               efuse = devm_ioremap(dev, res.start, size);
                if (!efuse) {
                        dev_err(dev, "could not map resource\n");
                        devm_release_mem_region(dev, res.start, size);
diff --git a/drivers/net/wireless/ath/ath9k/ahb.c 
b/drivers/net/wireless/ath/ath9k/ahb.c
index 2bd982c..6e13e62 100644
--- a/drivers/net/wireless/ath/ath9k/ahb.c
+++ b/drivers/net/wireless/ath/ath9k/ahb.c
@@ -91,7 +91,7 @@ static int ath_ahb_probe(struct platform_device *pdev)
                return -ENXIO;
        }
 
-       mem = devm_ioremap_nocache(&pdev->dev, res->start, resource_size(res));
+       mem = devm_ioremap(&pdev->dev, res->start, resource_size(res));
        if (mem == NULL) {
                dev_err(&pdev->dev, "ioremap failed\n");
                return -ENOMEM;
diff --git a/drivers/pci/dwc/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c
index e77a4cee..3f3712a 100644
--- a/drivers/pci/dwc/pci-dra7xx.c
+++ b/drivers/pci/dwc/pci-dra7xx.c
@@ -637,7 +637,7 @@ static int __init dra7xx_pcie_probe(struct platform_device 
*pdev)
        }
 
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ti_conf");
-       base = devm_ioremap_nocache(dev, res->start, resource_size(res));
+       base = devm_ioremap(dev, res->start, resource_size(res));
        if (!base)
                return -ENOMEM;
 
diff --git a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c 
b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
index 4b5cf0e..b2ec4a3 100644
--- a/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-ns2-mux.c
@@ -1048,8 +1048,8 @@ static int ns2_pinmux_probe(struct platform_device *pdev)
                return PTR_ERR(pinctrl->base0);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       pinctrl->base1 = devm_ioremap_nocache(&pdev->dev, res->start,
-                                       resource_size(res));
+       pinctrl->base1 = devm_ioremap(&pdev->dev, res->start,
+                               resource_size(res));
        if (!pinctrl->base1) {
                dev_err(&pdev->dev, "unable to map I/O space\n");
                return -ENOMEM;
diff --git a/drivers/pinctrl/bcm/pinctrl-nsp-mux.c 
b/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
index 35c1765..df82e52 100644
--- a/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
+++ b/drivers/pinctrl/bcm/pinctrl-nsp-mux.c
@@ -577,8 +577,8 @@ static int nsp_pinmux_probe(struct platform_device *pdev)
                return PTR_ERR(pinctrl->base0);
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       pinctrl->base1 = devm_ioremap_nocache(&pdev->dev, res->start,
-                                             resource_size(res));
+       pinctrl->base1 = devm_ioremap(&pdev->dev, res->start,
+                                     resource_size(res));
        if (!pinctrl->base1) {
                dev_err(&pdev->dev, "unable to map I/O space\n");
                return -ENOMEM;
diff --git a/drivers/pinctrl/freescale/pinctrl-imx1-core.c 
b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
index a4e9f43..1f192e6 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx1-core.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx1-core.c
@@ -615,7 +615,7 @@ int imx1_pinctrl_core_probe(struct platform_device *pdev,
        if (!res)
                return -ENOENT;
 
-       ipctl->base = devm_ioremap_nocache(&pdev->dev, res->start,
+       ipctl->base = devm_ioremap(&pdev->dev, res->start,
                        resource_size(res));
        if (!ipctl->base)
                return -ENOMEM;
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 61d830c..79de76c 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -825,8 +825,8 @@ static int amd_gpio_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       gpio_dev->base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                               resource_size(res));
+       gpio_dev->base = devm_ioremap(&pdev->dev, res->start,
+                                       resource_size(res));
        if (!gpio_dev->base)
                return -ENOMEM;
 
diff --git a/drivers/platform/x86/intel_pmc_core.c 
b/drivers/platform/x86/intel_pmc_core.c
index 17e08b4..4657994 100644
--- a/drivers/platform/x86/intel_pmc_core.c
+++ b/drivers/platform/x86/intel_pmc_core.c
@@ -532,9 +532,9 @@ static int pmc_core_probe(struct pci_dev *dev, const struct 
pci_device_id *id)
        pmcdev->base_addr &= PMC_BASE_ADDR_MASK;
        dev_dbg(&dev->dev, "PMC Core: PWRMBASE is %#x\n", pmcdev->base_addr);
 
-       pmcdev->regbase = devm_ioremap_nocache(ptr_dev,
-                                             pmcdev->base_addr,
-                                             SPT_PMC_MMIO_REG_LEN);
+       pmcdev->regbase = devm_ioremap(ptr_dev,
+                                      pmcdev->base_addr,
+                                      SPT_PMC_MMIO_REG_LEN);
        if (!pmcdev->regbase) {
                dev_dbg(&dev->dev, "PMC Core: ioremap failed.\n");
                return -ENOMEM;
diff --git a/drivers/regulator/ti-abb-regulator.c 
b/drivers/regulator/ti-abb-regulator.c
index d2f9942..4383bb6 100644
--- a/drivers/regulator/ti-abb-regulator.c
+++ b/drivers/regulator/ti-abb-regulator.c
@@ -758,8 +758,8 @@ static int ti_abb_probe(struct platform_device *pdev)
         * We may have shared interrupt register offsets which are
         * write-1-to-clear between domains ensuring exclusivity.
         */
-       abb->int_base = devm_ioremap_nocache(dev, res->start,
-                                            resource_size(res));
+       abb->int_base = devm_ioremap(dev, res->start,
+                                    resource_size(res));
        if (!abb->int_base) {
                dev_err(dev, "Unable to map '%s'\n", pname);
                return -ENOMEM;
@@ -778,8 +778,8 @@ static int ti_abb_probe(struct platform_device *pdev)
         * We may have shared efuse register offsets which are read-only
         * between domains
         */
-       abb->efuse_base = devm_ioremap_nocache(dev, res->start,
-                                              resource_size(res));
+       abb->efuse_base = devm_ioremap(dev, res->start,
+                                      resource_size(res));
        if (!abb->efuse_base) {
                dev_err(dev, "Unable to map '%s'\n", pname);
                return -ENOMEM;
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 6c2d398..7c9fc1fe 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -592,8 +592,8 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
        if (unlikely(!rtc->res))
                return -EBUSY;
 
-       rtc->regbase = devm_ioremap_nocache(&pdev->dev, rtc->res->start,
-                                       rtc->regsize);
+       rtc->regbase = devm_ioremap(&pdev->dev, rtc->res->start,
+                               rtc->regsize);
        if (unlikely(!rtc->regbase))
                return -EINVAL;
 
diff --git a/drivers/spi/spi-jcore.c b/drivers/spi/spi-jcore.c
index cebfea5..32f538e 100644
--- a/drivers/spi/spi-jcore.c
+++ b/drivers/spi/spi-jcore.c
@@ -169,8 +169,7 @@ static int jcore_spi_probe(struct platform_device *pdev)
        if (!devm_request_mem_region(&pdev->dev, res->start,
                                     resource_size(res), pdev->name))
                goto exit_busy;
-       hw->base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                       resource_size(res));
+       hw->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
        if (!hw->base)
                goto exit_busy;
 
diff --git a/drivers/staging/fsl-mc/bus/mc-io.c 
b/drivers/staging/fsl-mc/bus/mc-io.c
index f65c23c..cd13521 100644
--- a/drivers/staging/fsl-mc/bus/mc-io.c
+++ b/drivers/staging/fsl-mc/bus/mc-io.c
@@ -134,12 +134,12 @@ int __must_check fsl_create_mc_io(struct device *dev,
                return -EBUSY;
        }
 
-       mc_portal_virt_addr = devm_ioremap_nocache(dev,
-                                                  mc_portal_phys_addr,
-                                                  mc_portal_size);
+       mc_portal_virt_addr = devm_ioremap(dev,
+                                          mc_portal_phys_addr,
+                                          mc_portal_size);
        if (!mc_portal_virt_addr) {
                dev_err(dev,
-                       "devm_ioremap_nocache failed for MC portal %pa\n",
+                       "devm_ioremap failed for MC portal %pa\n",
                        &mc_portal_phys_addr);
                return -ENXIO;
        }
diff --git a/drivers/tty/mips_ejtag_fdc.c b/drivers/tty/mips_ejtag_fdc.c
index 4c1cd49..cf3da1f 100644
--- a/drivers/tty/mips_ejtag_fdc.c
+++ b/drivers/tty/mips_ejtag_fdc.c
@@ -898,8 +898,8 @@ static int mips_ejtag_fdc_tty_probe(struct mips_cdmm_device 
*dev)
        atomic_set(&priv->xmit_total, 0);
        raw_spin_lock_init(&priv->lock);
 
-       priv->reg = devm_ioremap_nocache(priv->dev, dev->res.start,
-                                        resource_size(&dev->res));
+       priv->reg = devm_ioremap(priv->dev, dev->res.start,
+                                resource_size(&dev->res));
        if (!priv->reg) {
                dev_err(priv->dev, "ioremap failed for resource %pR\n",
                        &dev->res);
diff --git a/drivers/tty/serial/8250/8250_omap.c 
b/drivers/tty/serial/8250/8250_omap.c
index bd40ba4..72c0994 100644
--- a/drivers/tty/serial/8250/8250_omap.c
+++ b/drivers/tty/serial/8250/8250_omap.c
@@ -1133,8 +1133,7 @@ static int omap8250_probe(struct platform_device *pdev)
        if (!priv)
                return -ENOMEM;
 
-       membase = devm_ioremap_nocache(&pdev->dev, regs->start,
-                                      resource_size(regs));
+       membase = devm_ioremap(&pdev->dev, regs->start, resource_size(regs));
        if (!membase)
                return -ENODEV;
 
diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
index 0441282..b3affe1 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -514,7 +514,7 @@ ltq_uart_port *to_ltq_uart_port(struct uart_port *port)
        }
 
        if (port->flags & UPF_IOREMAP) {
-               port->membase = devm_ioremap_nocache(&pdev->dev,
+               port->membase = devm_ioremap(&pdev->dev,
                        port->mapbase, size);
                if (port->membase == NULL)
                        return -ENOMEM;
diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
index daafe60..65f0201 100644
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
@@ -413,8 +413,8 @@ static int meson_uart_request_port(struct uart_port *port)
                return -EBUSY;
        }
 
-       port->membase = devm_ioremap_nocache(port->dev, port->mapbase,
-                                            port->mapsize);
+       port->membase = devm_ioremap(port->dev, port->mapbase,
+                                    port->mapsize);
        if (!port->membase)
                return -ENOMEM;
 
diff --git a/drivers/tty/serial/owl-uart.c b/drivers/tty/serial/owl-uart.c
index 29a6dc6..2150e6a 100644
--- a/drivers/tty/serial/owl-uart.c
+++ b/drivers/tty/serial/owl-uart.c
@@ -427,7 +427,7 @@ static int owl_uart_request_port(struct uart_port *port)
                return -EBUSY;
 
        if (port->flags & UPF_IOREMAP) {
-               port->membase = devm_ioremap_nocache(port->dev, port->mapbase,
+               port->membase = devm_ioremap(port->dev, port->mapbase,
                                resource_size(res));
                if (!port->membase)
                        return -EBUSY;
diff --git a/drivers/tty/serial/pic32_uart.c b/drivers/tty/serial/pic32_uart.c
index fd80d99..929bd3c 100644
--- a/drivers/tty/serial/pic32_uart.c
+++ b/drivers/tty/serial/pic32_uart.c
@@ -618,8 +618,8 @@ static int pic32_uart_request_port(struct uart_port *port)
                                "pic32_uart_mem"))
                return -EBUSY;
 
-       port->membase = devm_ioremap_nocache(port->dev, port->mapbase,
-                                               resource_size(res_mem));
+       port->membase = devm_ioremap(port->dev, port->mapbase,
+                                       resource_size(res_mem));
        if (!port->membase) {
                dev_err(port->dev, "Unable to map registers\n");
                release_mem_region(port->mapbase, resource_size(res_mem));
diff --git a/drivers/video/fbdev/mbx/mbxfb.c b/drivers/video/fbdev/mbx/mbxfb.c
index 539b85d..f1034de 100644
--- a/drivers/video/fbdev/mbx/mbxfb.c
+++ b/drivers/video/fbdev/mbx/mbxfb.c
@@ -940,9 +940,9 @@ static int mbxfb_probe(struct platform_device *dev)
        }
        mfbi->reg_phys_addr = mfbi->reg_res->start;
 
-       mfbi->reg_virt_addr = devm_ioremap_nocache(&dev->dev,
-                                                  mfbi->reg_phys_addr,
-                                                  res_size(mfbi->reg_req));
+       mfbi->reg_virt_addr = devm_ioremap(&dev->dev,
+                                          mfbi->reg_phys_addr,
+                                          res_size(mfbi->reg_req));
        if (!mfbi->reg_virt_addr) {
                dev_err(&dev->dev, "failed to ioremap Marathon registers\n");
                ret = -EINVAL;
@@ -950,8 +950,8 @@ static int mbxfb_probe(struct platform_device *dev)
        }
        virt_base_2700 = mfbi->reg_virt_addr;
 
-       mfbi->fb_virt_addr = devm_ioremap_nocache(&dev->dev, mfbi->fb_phys_addr,
-                                                 res_size(mfbi->fb_req));
+       mfbi->fb_virt_addr = devm_ioremap(&dev->dev, mfbi->fb_phys_addr,
+                                         res_size(mfbi->fb_req));
        if (!mfbi->fb_virt_addr) {
                dev_err(&dev->dev, "failed to ioremap frame buffer\n");
                ret = -EINVAL;
diff --git a/drivers/video/fbdev/mmp/hw/mmp_ctrl.c 
b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
index b6f83d5..8bbc873 100644
--- a/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
+++ b/drivers/video/fbdev/mmp/hw/mmp_ctrl.c
@@ -500,7 +500,7 @@ static int mmphw_probe(struct platform_device *pdev)
                goto failed;
        }
 
-       ctrl->reg_base = devm_ioremap_nocache(ctrl->dev,
+       ctrl->reg_base = devm_ioremap(ctrl->dev,
                        res->start, resource_size(res));
        if (ctrl->reg_base == NULL) {
                dev_err(ctrl->dev, "%s: res %pR map failed\n", __func__, res);
diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c
index def3a50..7d74f07 100644
--- a/drivers/video/fbdev/pxa168fb.c
+++ b/drivers/video/fbdev/pxa168fb.c
@@ -668,8 +668,8 @@ static int pxa168fb_probe(struct platform_device *pdev)
        /*
         * Map LCD controller registers.
         */
-       fbi->reg_base = devm_ioremap_nocache(&pdev->dev, res->start,
-                                            resource_size(res));
+       fbi->reg_base = devm_ioremap(&pdev->dev, res->start,
+                                    resource_size(res));
        if (fbi->reg_base == NULL) {
                ret = -ENOMEM;
                goto failed_free_info;
diff --git a/drivers/watchdog/bcm63xx_wdt.c b/drivers/watchdog/bcm63xx_wdt.c
index 8555afc..697a7e7 100644
--- a/drivers/watchdog/bcm63xx_wdt.c
+++ b/drivers/watchdog/bcm63xx_wdt.c
@@ -248,8 +248,8 @@ static int bcm63xx_wdt_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       bcm63xx_wdt_device.regs = devm_ioremap_nocache(&pdev->dev, r->start,
-                                                       resource_size(r));
+       bcm63xx_wdt_device.regs = devm_ioremap(&pdev->dev, r->start,
+                                               resource_size(r));
        if (!bcm63xx_wdt_device.regs) {
                dev_err(&pdev->dev, "failed to remap I/O resources\n");
                return -ENXIO;
diff --git a/drivers/watchdog/rc32434_wdt.c b/drivers/watchdog/rc32434_wdt.c
index 3a75f3b..7d519c5 100644
--- a/drivers/watchdog/rc32434_wdt.c
+++ b/drivers/watchdog/rc32434_wdt.c
@@ -31,7 +31,7 @@
 #include <linux/platform_device.h>     /* For platform_driver framework */
 #include <linux/spinlock.h>            /* For spin_lock/spin_unlock/... */
 #include <linux/uaccess.h>             /* For copy_to_user/put_user/... */
-#include <linux/io.h>                  /* For devm_ioremap_nocache */
+#include <linux/io.h>                  /* For devm_ioremap */
 
 #include <asm/mach-rc32434/integ.h>    /* For the Watchdog registers */
 
@@ -271,7 +271,7 @@ static int rc32434_wdt_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       wdt_reg = devm_ioremap_nocache(&pdev->dev, r->start, resource_size(r));
+       wdt_reg = devm_ioremap(&pdev->dev, r->start, resource_size(r));
        if (!wdt_reg) {
                pr_err("failed to remap I/O resources\n");
                return -ENXIO;
diff --git a/include/linux/io.h b/include/linux/io.h
index 32e30e8..a9c7270 100644
--- a/include/linux/io.h
+++ b/include/linux/io.h
@@ -75,8 +75,6 @@ static inline void devm_ioport_unmap(struct device *dev, void 
__iomem *addr)
 
 void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
                           resource_size_t size);
-void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
-                                  resource_size_t size);
 void __iomem *devm_ioremap_wc(struct device *dev, resource_size_t offset,
                                   resource_size_t size);
 void devm_iounmap(struct device *dev, void __iomem *addr);
diff --git a/lib/devres.c b/lib/devres.c
index 5f2aedd..f818fcf 100644
--- a/lib/devres.c
+++ b/lib/devres.c
@@ -44,35 +44,6 @@ void __iomem *devm_ioremap(struct device *dev, 
resource_size_t offset,
 EXPORT_SYMBOL(devm_ioremap);
 
 /**
- * devm_ioremap_nocache - Managed ioremap_nocache()
- * @dev: Generic device to remap IO address for
- * @offset: Resource address to map
- * @size: Size of map
- *
- * Managed ioremap_nocache().  Map is automatically unmapped on driver
- * detach.
- */
-void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
-                                  resource_size_t size)
-{
-       void __iomem **ptr, *addr;
-
-       ptr = devres_alloc(devm_ioremap_release, sizeof(*ptr), GFP_KERNEL);
-       if (!ptr)
-               return NULL;
-
-       addr = ioremap_nocache(offset, size);
-       if (addr) {
-               *ptr = addr;
-               devres_add(dev, ptr);
-       } else
-               devres_free(ptr);
-
-       return addr;
-}
-EXPORT_SYMBOL(devm_ioremap_nocache);
-
-/**
  * devm_ioremap_wc - Managed ioremap_wc()
  * @dev: Generic device to remap IO address for
  * @offset: Resource address to map
diff --git a/scripts/coccinelle/free/devm_free.cocci 
b/scripts/coccinelle/free/devm_free.cocci
index c990d2c..36b8752 100644
--- a/scripts/coccinelle/free/devm_free.cocci
+++ b/scripts/coccinelle/free/devm_free.cocci
@@ -51,8 +51,6 @@ expression x;
 |
  x = devm_ioremap(...)
 |
- x = devm_ioremap_nocache(...)
-|
  x = devm_ioport_map(...)
 )
 
diff --git a/sound/soc/au1x/ac97c.c b/sound/soc/au1x/ac97c.c
index 29a97d5..fb77f63 100644
--- a/sound/soc/au1x/ac97c.c
+++ b/sound/soc/au1x/ac97c.c
@@ -247,8 +247,8 @@ static int au1xac97c_drvprobe(struct platform_device *pdev)
                                     pdev->name))
                return -EBUSY;
 
-       ctx->mmio = devm_ioremap_nocache(&pdev->dev, iores->start,
-                                        resource_size(iores));
+       ctx->mmio = devm_ioremap(&pdev->dev, iores->start,
+                                resource_size(iores));
        if (!ctx->mmio)
                return -EBUSY;
 
diff --git a/sound/soc/au1x/i2sc.c b/sound/soc/au1x/i2sc.c
index 450c842..ee1a078 100644
--- a/sound/soc/au1x/i2sc.c
+++ b/sound/soc/au1x/i2sc.c
@@ -247,8 +247,8 @@ static int au1xi2s_drvprobe(struct platform_device *pdev)
                                     pdev->name))
                return -EBUSY;
 
-       ctx->mmio = devm_ioremap_nocache(&pdev->dev, iores->start,
-                                        resource_size(iores));
+       ctx->mmio = devm_ioremap(&pdev->dev, iores->start,
+                                resource_size(iores));
        if (!ctx->mmio)
                return -EBUSY;
 
diff --git a/sound/soc/intel/atom/sst/sst_acpi.c 
b/sound/soc/intel/atom/sst/sst_acpi.c
index 32d6e02..c94b19b 100644
--- a/sound/soc/intel/atom/sst/sst_acpi.c
+++ b/sound/soc/intel/atom/sst/sst_acpi.c
@@ -175,8 +175,8 @@ static int sst_platform_get_resources(struct intel_sst_drv 
*ctx)
        ctx->iram_base = rsrc->start + ctx->pdata->res_info->iram_offset;
        ctx->iram_end =  ctx->iram_base + ctx->pdata->res_info->iram_size - 1;
        dev_info(ctx->dev, "IRAM base: %#x", ctx->iram_base);
-       ctx->iram = devm_ioremap_nocache(ctx->dev, ctx->iram_base,
-                                        ctx->pdata->res_info->iram_size);
+       ctx->iram = devm_ioremap(ctx->dev, ctx->iram_base,
+                                ctx->pdata->res_info->iram_size);
        if (!ctx->iram) {
                dev_err(ctx->dev, "unable to map IRAM\n");
                return -EIO;
@@ -185,8 +185,8 @@ static int sst_platform_get_resources(struct intel_sst_drv 
*ctx)
        ctx->dram_base = rsrc->start + ctx->pdata->res_info->dram_offset;
        ctx->dram_end = ctx->dram_base + ctx->pdata->res_info->dram_size - 1;
        dev_info(ctx->dev, "DRAM base: %#x", ctx->dram_base);
-       ctx->dram = devm_ioremap_nocache(ctx->dev, ctx->dram_base,
-                                        ctx->pdata->res_info->dram_size);
+       ctx->dram = devm_ioremap(ctx->dev, ctx->dram_base,
+                                ctx->pdata->res_info->dram_size);
        if (!ctx->dram) {
                dev_err(ctx->dev, "unable to map DRAM\n");
                return -EIO;
@@ -194,8 +194,8 @@ static int sst_platform_get_resources(struct intel_sst_drv 
*ctx)
 
        ctx->shim_phy_add = rsrc->start + ctx->pdata->res_info->shim_offset;
        dev_info(ctx->dev, "SHIM base: %#x", ctx->shim_phy_add);
-       ctx->shim = devm_ioremap_nocache(ctx->dev, ctx->shim_phy_add,
-                                       ctx->pdata->res_info->shim_size);
+       ctx->shim = devm_ioremap(ctx->dev, ctx->shim_phy_add,
+                                ctx->pdata->res_info->shim_size);
        if (!ctx->shim) {
                dev_err(ctx->dev, "unable to map SHIM\n");
                return -EIO;
@@ -207,8 +207,8 @@ static int sst_platform_get_resources(struct intel_sst_drv 
*ctx)
        /* Get mailbox addr */
        ctx->mailbox_add = rsrc->start + ctx->pdata->res_info->mbox_offset;
        dev_info(ctx->dev, "Mailbox base: %#x", ctx->mailbox_add);
-       ctx->mailbox = devm_ioremap_nocache(ctx->dev, ctx->mailbox_add,
-                                           ctx->pdata->res_info->mbox_size);
+       ctx->mailbox = devm_ioremap(ctx->dev, ctx->mailbox_add,
+                                   ctx->pdata->res_info->mbox_size);
        if (!ctx->mailbox) {
                dev_err(ctx->dev, "unable to map mailbox\n");
                return -EIO;
@@ -226,8 +226,8 @@ static int sst_platform_get_resources(struct intel_sst_drv 
*ctx)
        ctx->ddr_base = rsrc->start;
        ctx->ddr_end = rsrc->end;
        dev_info(ctx->dev, "DDR base: %#x", ctx->ddr_base);
-       ctx->ddr = devm_ioremap_nocache(ctx->dev, ctx->ddr_base,
-                                       resource_size(rsrc));
+       ctx->ddr = devm_ioremap(ctx->dev, ctx->ddr_base,
+                               resource_size(rsrc));
        if (!ctx->ddr) {
                dev_err(ctx->dev, "unable to map DDR\n");
                return -EIO;
diff --git a/sound/soc/intel/boards/mfld_machine.c 
b/sound/soc/intel/boards/mfld_machine.c
index 6f44acf..cee1caad 100644
--- a/sound/soc/intel/boards/mfld_machine.c
+++ b/sound/soc/intel/boards/mfld_machine.c
@@ -385,8 +385,8 @@ static int snd_mfld_mc_probe(struct platform_device *pdev)
                pr_err("no mem resource given\n");
                return -ENODEV;
        }
-       mc_drv_ctx->int_base = devm_ioremap_nocache(&pdev->dev, irq_mem->start,
-                                                   resource_size(irq_mem));
+       mc_drv_ctx->int_base = devm_ioremap(&pdev->dev, irq_mem->start,
+                                           resource_size(irq_mem));
        if (!mc_drv_ctx->int_base) {
                pr_err("Mapping of cache failed\n");
                return -ENOMEM;
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index c3aaf47..f6d3f89 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -1960,8 +1960,7 @@ static int fsi_probe(struct platform_device *pdev)
        if (!master)
                return -ENOMEM;
 
-       master->base = devm_ioremap_nocache(&pdev->dev,
-                                           res->start, resource_size(res));
+       master->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
        if (!master->base) {
                dev_err(&pdev->dev, "Unable to ioremap FSI registers.\n");
                return -ENXIO;
diff --git a/tools/testing/nvdimm/Kbuild b/tools/testing/nvdimm/Kbuild
index db33b28..9fbdc90 100644
--- a/tools/testing/nvdimm/Kbuild
+++ b/tools/testing/nvdimm/Kbuild
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 ldflags-y += --wrap=ioremap_wc
 ldflags-y += --wrap=memremap
-ldflags-y += --wrap=devm_ioremap_nocache
+ldflags-y += --wrap=devm_ioremap
 ldflags-y += --wrap=devm_memremap
 ldflags-y += --wrap=devm_memunmap
 ldflags-y += --wrap=ioremap_nocache
diff --git a/tools/testing/nvdimm/test/iomap.c 
b/tools/testing/nvdimm/test/iomap.c
index e1f75a1..3b80f92 100644
--- a/tools/testing/nvdimm/test/iomap.c
+++ b/tools/testing/nvdimm/test/iomap.c
@@ -89,7 +89,7 @@ void __iomem *__wrap_devm_ioremap_nocache(struct device *dev,
        if (nfit_res)
                return (void __iomem *) nfit_res->buf + offset
                        - nfit_res->res.start;
-       return devm_ioremap_nocache(dev, offset, size);
+       return devm_ioremap(dev, offset, size);
 }
 EXPORT_SYMBOL(__wrap_devm_ioremap_nocache);
 
-- 
1.7.12.4

Reply via email to