]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
devm_memremap: convert to return ERR_PTR
authorDan Williams <dan.j.williams@intel.com>
Tue, 15 Sep 2015 06:42:20 +0000 (02:42 -0400)
committerDan Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:20:01 +0000 (12:20 -0500)
Orabug: 22913653

Make devm_memremap consistent with the error return scheme of
devm_memremap_pages to remove special casing in the pmem driver.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit b36f47617f6ce7c5e8e7c264b9d9ea0654d9f20a)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/nvdimm/pmem.c
kernel/memremap.c

index 62bccd7ccf1dcd60635dba7c77d4a8008a563a64..909663027a4cc1eafa16d982e66096ed7e83eac9 100644 (file)
@@ -150,19 +150,15 @@ static struct pmem_device *pmem_alloc(struct device *dev,
                return ERR_PTR(-EBUSY);
        }
 
-       if (pmem_should_map_pages(dev)) {
-               void *addr = devm_memremap_pages(dev, res);
-
-               if (IS_ERR(addr))
-                       return addr;
-               pmem->virt_addr = (void __pmem *) addr;
-       } else {
+       if (pmem_should_map_pages(dev))
+               pmem->virt_addr = (void __pmem *) devm_memremap_pages(dev, res);
+       else
                pmem->virt_addr = (void __pmem *) devm_memremap(dev,
                                pmem->phys_addr, pmem->size,
                                ARCH_MEMREMAP_PMEM);
-               if (!pmem->virt_addr)
-                       return ERR_PTR(-ENXIO);
-       }
+
+       if (IS_ERR(pmem->virt_addr))
+               return (void __force *) pmem->virt_addr;
 
        return pmem;
 }
index 72b0c66628b6b3db589ad0cd6ed6533edb68a9ea..95a20ec6c40135708d2d7130a22bd81cc0b27e72 100644 (file)
@@ -116,7 +116,7 @@ void *devm_memremap(struct device *dev, resource_size_t offset,
 
        ptr = devres_alloc(devm_memremap_release, sizeof(*ptr), GFP_KERNEL);
        if (!ptr)
-               return NULL;
+               return ERR_PTR(-ENOMEM);
 
        addr = memremap(offset, size, flags);
        if (addr) {