summaryrefslogtreecommitdiffstats
path: root/include/linux/uio_driver.h
diff options
context:
space:
mode:
authorHans J. Koch <hjk@linutronix.de>2009-01-07 00:15:39 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2009-03-24 16:38:24 -0700
commit8205779114e8f612549d191f8e151526a74ab9f2 (patch)
treefd26913320500193bd4078da0c164f9407aed47b /include/linux/uio_driver.h
parent57fee4a58fe802272742caae248872c392a60670 (diff)
downloadlinux-stable-8205779114e8f612549d191f8e151526a74ab9f2.tar.gz
linux-stable-8205779114e8f612549d191f8e151526a74ab9f2.tar.bz2
linux-stable-8205779114e8f612549d191f8e151526a74ab9f2.zip
UIO: Add name attributes for mappings and port regions
If a UIO device has several memory mappings, it can be difficult for userspace to find the right one. The situation becomes even worse if the UIO driver can handle different versions of a card that have different numbers of mappings. Benedikt Spranger has such cards and pointed this out to me. Thanks, Bene! To address this problem, this patch adds "name" sysfs attributes for each mapping. Userspace can use these to clearly identify each mapping. The name string is optional. If a driver doesn't set it, an empty string will be returned, so this patch won't break existing drivers. The same problem exists for port region information, so a "name" attribute is added there, too. Signed-off-by: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/uio_driver.h')
-rw-r--r--include/linux/uio_driver.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/uio_driver.h b/include/linux/uio_driver.h
index a0bb6bd2e5c1..5dcc9ff72f69 100644
--- a/include/linux/uio_driver.h
+++ b/include/linux/uio_driver.h
@@ -22,6 +22,7 @@ struct uio_map;
/**
* struct uio_mem - description of a UIO memory region
+ * @name: name of the memory region for identification
* @addr: address of the device's memory
* @size: size of IO
* @memtype: type of memory addr points to
@@ -29,6 +30,7 @@ struct uio_map;
* @map: for use by the UIO core only.
*/
struct uio_mem {
+ const char *name;
unsigned long addr;
unsigned long size;
int memtype;
@@ -42,12 +44,14 @@ struct uio_portio;
/**
* struct uio_port - description of a UIO port region
+ * @name: name of the port region for identification
* @start: start of port region
* @size: size of port region
* @porttype: type of port (see UIO_PORT_* below)
* @portio: for use by the UIO core only.
*/
struct uio_port {
+ const char *name;
unsigned long start;
unsigned long size;
int porttype;