aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-device-cdev.h
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-03-07 12:12:43 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-09 16:03:08 -0500
commit344bbc4de14e70d03f09bff04bb7d161b8a0d28c (patch)
treee482be1fa307fd45c7b337a785ab75704bce2b78 /drivers/firewire/fw-device-cdev.h
parent5371842b723dd04df57171f2c74660966901380c (diff)
firewire: Generalize get_config_rom to get_info.
Repurpose the get_config_rom ioctl to a general get_info ioctl. This ioctl is now used for version negotiation, and optionally returns the config rom, and the current bus info. Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-device-cdev.h')
-rw-r--r--drivers/firewire/fw-device-cdev.h31
1 files changed, 27 insertions, 4 deletions
diff --git a/drivers/firewire/fw-device-cdev.h b/drivers/firewire/fw-device-cdev.h
index 8a8b390d5996..c6ea6f32a94b 100644
--- a/drivers/firewire/fw-device-cdev.h
+++ b/drivers/firewire/fw-device-cdev.h
@@ -104,7 +104,7 @@ struct fw_cdev_event_iso_interrupt {
104 __u32 header[0]; 104 __u32 header[0];
105}; 105};
106 106
107#define FW_CDEV_IOC_GET_CONFIG_ROM _IOR('#', 0x00, struct fw_cdev_get_config_rom) 107#define FW_CDEV_IOC_GET_INFO _IO('#', 0x00)
108#define FW_CDEV_IOC_SEND_REQUEST _IO('#', 0x01) 108#define FW_CDEV_IOC_SEND_REQUEST _IO('#', 0x01)
109#define FW_CDEV_IOC_ALLOCATE _IO('#', 0x02) 109#define FW_CDEV_IOC_ALLOCATE _IO('#', 0x02)
110#define FW_CDEV_IOC_SEND_RESPONSE _IO('#', 0x03) 110#define FW_CDEV_IOC_SEND_RESPONSE _IO('#', 0x03)
@@ -114,9 +114,32 @@ struct fw_cdev_event_iso_interrupt {
114#define FW_CDEV_IOC_START_ISO _IO('#', 0x07) 114#define FW_CDEV_IOC_START_ISO _IO('#', 0x07)
115#define FW_CDEV_IOC_STOP_ISO _IO('#', 0x08) 115#define FW_CDEV_IOC_STOP_ISO _IO('#', 0x08)
116 116
117struct fw_cdev_get_config_rom { 117/* FW_CDEV_VERSION History
118 __u32 length; 118 *
119 __u32 data[256]; 119 * 1 Feb 18, 2007: Initial version.
120 */
121#define FW_CDEV_VERSION 1
122
123struct fw_cdev_get_info {
124 /* The version field is just a running serial number. We
125 * never break backwards compatibility. Userspace passes in
126 * the version it expects and the kernel passes back the
127 * highest version it can provide. Even if the structs in
128 * this interface are extended in a later version, the kernel
129 * will not copy back more data than what was present in the
130 * interface version userspace expects. */
131 __u32 version;
132
133 /* If non-zero, at most rom_length bytes of config rom will be
134 * copied into that user space address. In either case,
135 * rom_length is updated with the actual length of the config
136 * rom. */
137 __u32 rom_length;
138 __u64 rom;
139
140 /* If non-zero, a fw_cdev_event_bus_reset struct will be
141 * copied here with the current state of the bus. */
142 __u64 bus_reset;
120}; 143};
121 144
122struct fw_cdev_send_request { 145struct fw_cdev_send_request {