diff options
author | Dan Williams <dan.j.williams@intel.com> | 2015-09-15 02:42:20 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2015-10-09 17:00:33 -0400 |
commit | b36f47617f6ce7c5e8e7c264b9d9ea0654d9f20a (patch) | |
tree | d08894bd10818244ad58444151f201eacc6fa5a7 | |
parent | d741314fe8318c1af497b8cf04ea3976b9509eca (diff) |
devm_memremap: convert to return ERR_PTR
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>
-rw-r--r-- | drivers/nvdimm/pmem.c | 16 | ||||
-rw-r--r-- | kernel/memremap.c | 2 |
2 files changed, 7 insertions, 11 deletions
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 0680affae04a..9805d311b1d1 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c | |||
@@ -150,19 +150,15 @@ static struct pmem_device *pmem_alloc(struct device *dev, | |||
150 | return ERR_PTR(-EBUSY); | 150 | return ERR_PTR(-EBUSY); |
151 | } | 151 | } |
152 | 152 | ||
153 | if (pmem_should_map_pages(dev)) { | 153 | if (pmem_should_map_pages(dev)) |
154 | void *addr = devm_memremap_pages(dev, res); | 154 | pmem->virt_addr = (void __pmem *) devm_memremap_pages(dev, res); |
155 | 155 | else | |
156 | if (IS_ERR(addr)) | ||
157 | return addr; | ||
158 | pmem->virt_addr = (void __pmem *) addr; | ||
159 | } else { | ||
160 | pmem->virt_addr = (void __pmem *) devm_memremap(dev, | 156 | pmem->virt_addr = (void __pmem *) devm_memremap(dev, |
161 | pmem->phys_addr, pmem->size, | 157 | pmem->phys_addr, pmem->size, |
162 | ARCH_MEMREMAP_PMEM); | 158 | ARCH_MEMREMAP_PMEM); |
163 | if (!pmem->virt_addr) | 159 | |
164 | return ERR_PTR(-ENXIO); | 160 | if (IS_ERR(pmem->virt_addr)) |
165 | } | 161 | return (void __force *) pmem->virt_addr; |
166 | 162 | ||
167 | return pmem; | 163 | return pmem; |
168 | } | 164 | } |
diff --git a/kernel/memremap.c b/kernel/memremap.c index 0756273437e0..0d818ce04129 100644 --- a/kernel/memremap.c +++ b/kernel/memremap.c | |||
@@ -116,7 +116,7 @@ void *devm_memremap(struct device *dev, resource_size_t offset, | |||
116 | 116 | ||
117 | ptr = devres_alloc(devm_memremap_release, sizeof(*ptr), GFP_KERNEL); | 117 | ptr = devres_alloc(devm_memremap_release, sizeof(*ptr), GFP_KERNEL); |
118 | if (!ptr) | 118 | if (!ptr) |
119 | return NULL; | 119 | return ERR_PTR(-ENOMEM); |
120 | 120 | ||
121 | addr = memremap(offset, size, flags); | 121 | addr = memremap(offset, size, flags); |
122 | if (addr) { | 122 | if (addr) { |