cleanup IORESOURCE_CACHEABLE vs ioremap()
Quoting Arnd: I was thinking the opposite approach and basically removing all uses of IORESOURCE_CACHEABLE from the kernel. There are only a handful of them.and we can probably replace them all with hardcoded ioremap_cached() calls in the cases they are actually useful. All existing usages of IORESOURCE_CACHEABLE call ioremap() instead of ioremap_nocache() if the resource is cacheable, however ioremap() is uncached by default. Clearly none of the existing usages care about the cacheability. Particularly devm_ioremap_resource() never worked as advertised since it always fell back to plain ioremap(). Clean this up as the new direction we want is to convert ioremap_<type>() usages to memremap(..., flags). Suggested-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
此提交包含在:
@@ -259,10 +259,7 @@ static bool arcmsr_remap_pciregion(struct AdapterControlBlock *acb)
|
||||
addr = (unsigned long)pci_resource_start(pdev, 0);
|
||||
range = pci_resource_len(pdev, 0);
|
||||
flags = pci_resource_flags(pdev, 0);
|
||||
if (flags & IORESOURCE_CACHEABLE)
|
||||
mem_base0 = ioremap(addr, range);
|
||||
else
|
||||
mem_base0 = ioremap_nocache(addr, range);
|
||||
mem_base0 = ioremap(addr, range);
|
||||
if (!mem_base0) {
|
||||
pr_notice("arcmsr%d: memory mapping region fail\n",
|
||||
acb->host->host_no);
|
||||
|
新增問題並參考
封鎖使用者