From: Christoph Hellwig <hch@lst.de>
To: Dan Williams <dan.j.williams@intel.com>,
Jason Gunthorpe <jgg@mellanox.com>
Cc: Bharata B Rao <bharata@linux.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-nvdimm@lists.01.org
Subject: [PATCH 1/5] resource: pass a name argument to devm_request_free_mem_region
Date: Sun, 11 Aug 2019 10:12:43 +0200 [thread overview]
Message-ID: <20190811081247.22111-2-hch@lst.de> (raw)
In-Reply-To: <20190811081247.22111-1-hch@lst.de>
Add an explicit resource name argument to devm_request_free_mem_region.
Besides allowing drivers to request multiple regions per device with
different names, this also prepares for a not device managed version of
the function.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
drivers/gpu/drm/nouveau/nouveau_dmem.c | 3 ++-
include/linux/ioport.h | 2 +-
kernel/resource.c | 5 +++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c
index 1333220787a1..aedf18a44789 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dmem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c
@@ -605,7 +605,8 @@ nouveau_dmem_init(struct nouveau_drm *drm)
* and latter if we want to do thing like over commit then we
* could revisit this.
*/
- res = devm_request_free_mem_region(device, &iomem_resource, size);
+ res = devm_request_free_mem_region(device, &iomem_resource, size,
+ dev_name(device));
if (IS_ERR(res))
goto out_free;
drm->dmem->pagemap.type = MEMORY_DEVICE_PRIVATE;
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 5b6a7121c9f0..0dcc48cafa80 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -296,7 +296,7 @@ static inline bool resource_overlaps(struct resource *r1, struct resource *r2)
}
struct resource *devm_request_free_mem_region(struct device *dev,
- struct resource *base, unsigned long size);
+ struct resource *base, unsigned long size, const char *name);
#endif /* __ASSEMBLY__ */
#endif /* _LINUX_IOPORT_H */
diff --git a/kernel/resource.c b/kernel/resource.c
index 7ea4306503c5..0ddc558586a7 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -1650,13 +1650,14 @@ EXPORT_SYMBOL(resource_list_free);
* @dev: device struct to bind the resource to
* @size: size in bytes of the device memory to add
* @base: resource tree to look in
+ * @name: identifying name for the new resource
*
* This function tries to find an empty range of physical address big enough to
* contain the new resource, so that it can later be hotplugged as ZONE_DEVICE
* memory, which in turn allocates struct pages.
*/
struct resource *devm_request_free_mem_region(struct device *dev,
- struct resource *base, unsigned long size)
+ struct resource *base, unsigned long size, const char *name)
{
resource_size_t end, addr;
struct resource *res;
@@ -1670,7 +1671,7 @@ struct resource *devm_request_free_mem_region(struct device *dev,
REGION_DISJOINT)
continue;
- res = devm_request_mem_region(dev, addr, size, dev_name(dev));
+ res = devm_request_mem_region(dev, addr, size, name);
if (!res)
return ERR_PTR(-ENOMEM);
res->desc = IORES_DESC_DEVICE_PRIVATE_MEMORY;
--
2.20.1
next prev parent reply other threads:[~2019-08-11 8:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-11 8:12 add a not device managed memremap_pages Christoph Hellwig
2019-08-11 8:12 ` Christoph Hellwig [this message]
2019-08-11 8:12 ` [PATCH 2/5] resource: add a not device managed request_free_mem_region variant Christoph Hellwig
2019-08-11 22:52 ` Jason Gunthorpe
2019-08-12 7:40 ` Christoph Hellwig
2019-08-11 8:12 ` [PATCH 3/5] memremap: remove the dev field in struct dev_pagemap Christoph Hellwig
2019-08-11 8:12 ` [PATCH 4/5] memremap: don't use a separate devm action for devmap_managed_enable_get Christoph Hellwig
2019-08-11 8:12 ` [PATCH 5/5] memremap: provide a not device managed memremap_pages Christoph Hellwig
2019-08-11 22:56 ` Jason Gunthorpe
2019-08-12 7:40 ` Christoph Hellwig
2019-08-12 14:50 ` Bharata B Rao
2019-08-12 15:00 ` Christoph Hellwig
2019-08-13 4:56 ` Bharata B Rao
2019-08-14 6:11 ` Christoph Hellwig
2019-08-14 8:58 ` Bharata B Rao
2019-08-14 11:25 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190811081247.22111-2-hch@lst.de \
--to=hch@lst.de \
--cc=akpm@linux-foundation.org \
--cc=bharata@linux.ibm.com \
--cc=dan.j.williams@intel.com \
--cc=jgg@mellanox.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox