diff options
Diffstat (limited to 'kernel/memremap.c')
-rw-r--r-- | kernel/memremap.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/memremap.c b/kernel/memremap.c index 9d6b55587eaa..7658d32c5c78 100644 --- a/kernel/memremap.c +++ b/kernel/memremap.c | |||
@@ -124,9 +124,10 @@ void *devm_memremap(struct device *dev, resource_size_t offset, | |||
124 | { | 124 | { |
125 | void **ptr, *addr; | 125 | void **ptr, *addr; |
126 | 126 | ||
127 | ptr = devres_alloc(devm_memremap_release, sizeof(*ptr), GFP_KERNEL); | 127 | ptr = devres_alloc_node(devm_memremap_release, sizeof(*ptr), GFP_KERNEL, |
128 | dev_to_node(dev)); | ||
128 | if (!ptr) | 129 | if (!ptr) |
129 | return NULL; | 130 | return ERR_PTR(-ENOMEM); |
130 | 131 | ||
131 | addr = memremap(offset, size, flags); | 132 | addr = memremap(offset, size, flags); |
132 | if (addr) { | 133 | if (addr) { |
@@ -141,9 +142,8 @@ EXPORT_SYMBOL(devm_memremap); | |||
141 | 142 | ||
142 | void devm_memunmap(struct device *dev, void *addr) | 143 | void devm_memunmap(struct device *dev, void *addr) |
143 | { | 144 | { |
144 | WARN_ON(devres_destroy(dev, devm_memremap_release, devm_memremap_match, | 145 | WARN_ON(devres_release(dev, devm_memremap_release, |
145 | addr)); | 146 | devm_memremap_match, addr)); |
146 | memunmap(addr); | ||
147 | } | 147 | } |
148 | EXPORT_SYMBOL(devm_memunmap); | 148 | EXPORT_SYMBOL(devm_memunmap); |
149 | 149 | ||
@@ -176,8 +176,8 @@ void *devm_memremap_pages(struct device *dev, struct resource *res) | |||
176 | if (is_ram == REGION_INTERSECTS) | 176 | if (is_ram == REGION_INTERSECTS) |
177 | return __va(res->start); | 177 | return __va(res->start); |
178 | 178 | ||
179 | page_map = devres_alloc(devm_memremap_pages_release, | 179 | page_map = devres_alloc_node(devm_memremap_pages_release, |
180 | sizeof(*page_map), GFP_KERNEL); | 180 | sizeof(*page_map), GFP_KERNEL, dev_to_node(dev)); |
181 | if (!page_map) | 181 | if (!page_map) |
182 | return ERR_PTR(-ENOMEM); | 182 | return ERR_PTR(-ENOMEM); |
183 | 183 | ||
@@ -185,7 +185,7 @@ void *devm_memremap_pages(struct device *dev, struct resource *res) | |||
185 | 185 | ||
186 | nid = dev_to_node(dev); | 186 | nid = dev_to_node(dev); |
187 | if (nid < 0) | 187 | if (nid < 0) |
188 | nid = 0; | 188 | nid = numa_mem_id(); |
189 | 189 | ||
190 | error = arch_add_memory(nid, res->start, resource_size(res), true); | 190 | error = arch_add_memory(nid, res->start, resource_size(res), true); |
191 | if (error) { | 191 | if (error) { |