#define DSDT_NHLT_PATH "\\_SB.PCI0.HDAS"
 
-void __iomem *skl_nhlt_init(struct device *dev)
+void *skl_nhlt_init(struct device *dev)
 {
        acpi_handle handle;
        union acpi_object *obj;
        if (obj && obj->type == ACPI_TYPE_BUFFER) {
                nhlt_ptr = (struct nhlt_resource_desc  *)obj->buffer.pointer;
 
-               return ioremap_cache(nhlt_ptr->min_addr, nhlt_ptr->length);
+               return memremap(nhlt_ptr->min_addr, nhlt_ptr->length,
+                               MEMREMAP_WB);
        }
 
        dev_err(dev, "device specific method to extract NHLT blob failed\n");
        return NULL;
 }
 
-void skl_nhlt_free(void __iomem *addr)
+void skl_nhlt_free(void *addr)
 {
-       iounmap(addr);
-       addr = NULL;
+       memunmap(addr);
 }
 
 static struct nhlt_specific_cfg *skl_get_specific_cfg(
 
        unsigned int init_failed:1; /* delayed init failed */
        struct platform_device *dmic_dev;
 
-       void __iomem *nhlt; /* nhlt ptr */
+       void *nhlt; /* nhlt ptr */
        struct skl_sst *skl_sst; /* sst skl ctx */
 
        struct skl_dsp_resource resource;
 int skl_platform_unregister(struct device *dev);
 int skl_platform_register(struct device *dev);
 
-void __iomem *skl_nhlt_init(struct device *dev);
-void skl_nhlt_free(void __iomem *addr);
+void *skl_nhlt_init(struct device *dev);
+void skl_nhlt_free(void *addr);
 struct nhlt_specific_cfg *skl_get_ep_blob(struct skl *skl, u32 instance,
                        u8 link_type, u8 s_fmt, u8 no_ch, u32 s_rate, u8 dirn);