summaryrefslogtreecommitdiff
path: root/include/linux/cdx
diff options
context:
space:
mode:
authorAbhijit Gangurde <abhijit.gangurde@amd.com>2023-12-22 09:46:26 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-01-04 19:01:13 +0300
commitaeda33ab8160c7a2e24ba4f44492ad1e974ddc7d (patch)
treeaa2061ee2e834deba5c7f9bd1843296d0dc3a07c /include/linux/cdx
parent6bafe07c930676d6430be471310958070816a595 (diff)
downloadlinux-aeda33ab8160c7a2e24ba4f44492ad1e974ddc7d.tar.xz
cdx: create sysfs bin files for cdx resources
Resource binary file contains the content of the memory regions. These resources<x> devices can be used to mmap the MMIO regions in the user-space. Co-developed-by: Puneet Gupta <puneet.gupta@amd.com> Signed-off-by: Puneet Gupta <puneet.gupta@amd.com> Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com> Link: https://lore.kernel.org/r/20231222064627.2828960-1-abhijit.gangurde@amd.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/cdx')
-rw-r--r--include/linux/cdx/cdx_bus.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/cdx/cdx_bus.h b/include/linux/cdx/cdx_bus.h
index 94ad2c9017c9..fab9e62c7e7d 100644
--- a/include/linux/cdx/cdx_bus.h
+++ b/include/linux/cdx/cdx_bus.h
@@ -135,6 +135,7 @@ struct cdx_device {
u8 bus_num;
u8 dev_num;
struct resource res[MAX_CDX_DEV_RESOURCES];
+ struct bin_attribute *res_attr[MAX_CDX_DEV_RESOURCES];
u8 res_count;
u64 dma_mask;
u16 flags;
@@ -147,6 +148,15 @@ struct cdx_device {
#define to_cdx_device(_dev) \
container_of(_dev, struct cdx_device, dev)
+#define cdx_resource_start(dev, num) ((dev)->res[(num)].start)
+#define cdx_resource_end(dev, num) ((dev)->res[(num)].end)
+#define cdx_resource_flags(dev, num) ((dev)->res[(num)].flags)
+#define cdx_resource_len(dev, num) \
+ ((cdx_resource_start((dev), (num)) == 0 && \
+ cdx_resource_end((dev), (num)) == \
+ cdx_resource_start((dev), (num))) ? 0 : \
+ (cdx_resource_end((dev), (num)) - \
+ cdx_resource_start((dev), (num)) + 1))
/**
* struct cdx_driver - CDX device driver
* @driver: Generic device driver