diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-03-10 15:59:16 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-03-24 15:56:49 -0400 |
commit | c8a25900f35e575938c791507894c036c0f2ca7d (patch) | |
tree | e413f9e098dea94c74fd0aab35a511800043c97b | |
parent | 6104ee92d62ea3638b67494fcf061cb4b9b9d518 (diff) |
firewire: cdev: amendment to "add ioctl to query maximum transmission speed"
The as yet unreleased FW_CDEV_IOC_GET_SPEED ioctl puts only a single
integer into the parameter buffer. We can use ioctl()'s return value
instead.
(Also: Some whitespace change in firewire-cdev.h.)
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r-- | drivers/firewire/fw-cdev.c | 11 | ||||
-rw-r--r-- | include/linux/firewire-cdev.h | 37 |
2 files changed, 20 insertions, 28 deletions
diff --git a/drivers/firewire/fw-cdev.c b/drivers/firewire/fw-cdev.c index 539dae5eb5b2..2784f91896db 100644 --- a/drivers/firewire/fw-cdev.c +++ b/drivers/firewire/fw-cdev.c | |||
@@ -1214,13 +1214,14 @@ static int ioctl_deallocate_iso_resource_once(struct client *client, void *buffe | |||
1214 | return init_iso_resource(client, request, ISO_RES_DEALLOC_ONCE); | 1214 | return init_iso_resource(client, request, ISO_RES_DEALLOC_ONCE); |
1215 | } | 1215 | } |
1216 | 1216 | ||
1217 | /* | ||
1218 | * Returns a speed code: Maximum speed to or from this device, | ||
1219 | * limited by the device's link speed, the local node's link speed, | ||
1220 | * and all PHY port speeds between the two links. | ||
1221 | */ | ||
1217 | static int ioctl_get_speed(struct client *client, void *buffer) | 1222 | static int ioctl_get_speed(struct client *client, void *buffer) |
1218 | { | 1223 | { |
1219 | struct fw_cdev_get_speed *request = buffer; | 1224 | return client->device->max_speed; |
1220 | |||
1221 | request->max_speed = client->device->max_speed; | ||
1222 | |||
1223 | return 0; | ||
1224 | } | 1225 | } |
1225 | 1226 | ||
1226 | static int ioctl_send_broadcast_request(struct client *client, void *buffer) | 1227 | static int ioctl_send_broadcast_request(struct client *client, void *buffer) |
diff --git a/include/linux/firewire-cdev.h b/include/linux/firewire-cdev.h index 4dfc84d0ac76..de4035792f70 100644 --- a/include/linux/firewire-cdev.h +++ b/include/linux/firewire-cdev.h | |||
@@ -223,28 +223,28 @@ union fw_cdev_event { | |||
223 | }; | 223 | }; |
224 | 224 | ||
225 | /* available since kernel version 2.6.22 */ | 225 | /* available since kernel version 2.6.22 */ |
226 | #define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info) | 226 | #define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info) |
227 | #define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request) | 227 | #define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request) |
228 | #define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) | 228 | #define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) |
229 | #define FW_CDEV_IOC_DEALLOCATE _IOW('#', 0x03, struct fw_cdev_deallocate) | 229 | #define FW_CDEV_IOC_DEALLOCATE _IOW('#', 0x03, struct fw_cdev_deallocate) |
230 | #define FW_CDEV_IOC_SEND_RESPONSE _IOW('#', 0x04, struct fw_cdev_send_response) | 230 | #define FW_CDEV_IOC_SEND_RESPONSE _IOW('#', 0x04, struct fw_cdev_send_response) |
231 | #define FW_CDEV_IOC_INITIATE_BUS_RESET _IOW('#', 0x05, struct fw_cdev_initiate_bus_reset) | 231 | #define FW_CDEV_IOC_INITIATE_BUS_RESET _IOW('#', 0x05, struct fw_cdev_initiate_bus_reset) |
232 | #define FW_CDEV_IOC_ADD_DESCRIPTOR _IOWR('#', 0x06, struct fw_cdev_add_descriptor) | 232 | #define FW_CDEV_IOC_ADD_DESCRIPTOR _IOWR('#', 0x06, struct fw_cdev_add_descriptor) |
233 | #define FW_CDEV_IOC_REMOVE_DESCRIPTOR _IOW('#', 0x07, struct fw_cdev_remove_descriptor) | 233 | #define FW_CDEV_IOC_REMOVE_DESCRIPTOR _IOW('#', 0x07, struct fw_cdev_remove_descriptor) |
234 | #define FW_CDEV_IOC_CREATE_ISO_CONTEXT _IOWR('#', 0x08, struct fw_cdev_create_iso_context) | 234 | #define FW_CDEV_IOC_CREATE_ISO_CONTEXT _IOWR('#', 0x08, struct fw_cdev_create_iso_context) |
235 | #define FW_CDEV_IOC_QUEUE_ISO _IOWR('#', 0x09, struct fw_cdev_queue_iso) | 235 | #define FW_CDEV_IOC_QUEUE_ISO _IOWR('#', 0x09, struct fw_cdev_queue_iso) |
236 | #define FW_CDEV_IOC_START_ISO _IOW('#', 0x0a, struct fw_cdev_start_iso) | 236 | #define FW_CDEV_IOC_START_ISO _IOW('#', 0x0a, struct fw_cdev_start_iso) |
237 | #define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) | 237 | #define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) |
238 | 238 | ||
239 | /* available since kernel version 2.6.24 */ | 239 | /* available since kernel version 2.6.24 */ |
240 | #define FW_CDEV_IOC_GET_CYCLE_TIMER _IOR('#', 0x0c, struct fw_cdev_get_cycle_timer) | 240 | #define FW_CDEV_IOC_GET_CYCLE_TIMER _IOR('#', 0x0c, struct fw_cdev_get_cycle_timer) |
241 | 241 | ||
242 | /* available since kernel version 2.6.30 */ | 242 | /* available since kernel version 2.6.30 */ |
243 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource) | 243 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource) |
244 | #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate) | 244 | #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate) |
245 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource) | 245 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource) |
246 | #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource) | 246 | #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource) |
247 | #define FW_CDEV_IOC_GET_SPEED _IOR('#', 0x11, struct fw_cdev_get_speed) | 247 | #define FW_CDEV_IOC_GET_SPEED _IO('#', 0x11) /* returns speed code */ |
248 | #define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) | 248 | #define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) |
249 | #define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet) | 249 | #define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet) |
250 | 250 | ||
@@ -602,15 +602,6 @@ struct fw_cdev_allocate_iso_resource { | |||
602 | }; | 602 | }; |
603 | 603 | ||
604 | /** | 604 | /** |
605 | * struct fw_cdev_get_speed - Query maximum speed to or from this device | ||
606 | * @max_speed: Speed code; minimum of the device's link speed, the local node's | ||
607 | * link speed, and all PHY port speeds between the two links | ||
608 | */ | ||
609 | struct fw_cdev_get_speed { | ||
610 | __u32 max_speed; | ||
611 | }; | ||
612 | |||
613 | /** | ||
614 | * struct fw_cdev_send_stream_packet - send an asynchronous stream packet | 605 | * struct fw_cdev_send_stream_packet - send an asynchronous stream packet |
615 | * @generation: Bus generation where the packet is valid | 606 | * @generation: Bus generation where the packet is valid |
616 | * @speed: Speed code to send the packet at | 607 | * @speed: Speed code to send the packet at |