summaryrefslogtreecommitdiffstats
path: root/include/linux/ioport.h
diff options
context:
space:
mode:
authorTerry Bowman <terry.bowman@amd.com>2022-02-09 11:27:09 -0600
committerWolfram Sang <wsa@kernel.org>2022-02-10 22:40:00 +0100
commit27c196c7b73cb70bbed3a9df46563bab60e63415 (patch)
treec8528d1bbf361e79d15c803bf1cfe91dfe49e331 /include/linux/ioport.h
parente783362eb54cd99b2cac8b3a9aeac942e6f6ac07 (diff)
downloadlinux-stable-27c196c7b73cb70bbed3a9df46563bab60e63415.tar.gz
linux-stable-27c196c7b73cb70bbed3a9df46563bab60e63415.tar.bz2
linux-stable-27c196c7b73cb70bbed3a9df46563bab60e63415.zip
kernel/resource: Introduce request_mem_region_muxed()
Support for requesting muxed memory region is implemented but not currently callable as a macro. Add the request muxed memory region macro. MMIO memory accesses can be synchronized using request_mem_region() which is already available. This call will return failure if the resource is busy. The 'muxed' version of this macro will handle a busy resource by using a wait queue to retry until the resource is available. Signed-off-by: Terry Bowman <terry.bowman@amd.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'include/linux/ioport.h')
-rw-r--r--include/linux/ioport.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 8359c50f9988..ec5f71f7135b 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -262,6 +262,8 @@ resource_union(struct resource *r1, struct resource *r2, struct resource *r)
#define request_muxed_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), IORESOURCE_MUXED)
#define __request_mem_region(start,n,name, excl) __request_region(&iomem_resource, (start), (n), (name), excl)
#define request_mem_region(start,n,name) __request_region(&iomem_resource, (start), (n), (name), 0)
+#define request_mem_region_muxed(start, n, name) \
+ __request_region(&iomem_resource, (start), (n), (name), IORESOURCE_MUXED)
#define request_mem_region_exclusive(start,n,name) \
__request_region(&iomem_resource, (start), (n), (name), IORESOURCE_EXCLUSIVE)
#define rename_region(region, newname) do { (region)->name = (newname); } while (0)