Commit c8a25900f35e575938c791507894c036c0f2ca7d
1 parent
6104ee92d6
Exists in
master
and in
7 other branches
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>
Showing 2 changed files with 20 additions and 28 deletions Side-by-side Diff
drivers/firewire/fw-cdev.c
... | ... | @@ -1214,13 +1214,14 @@ |
1214 | 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 | 1222 | static int ioctl_get_speed(struct client *client, void *buffer) |
1218 | 1223 | { |
1219 | - struct fw_cdev_get_speed *request = buffer; | |
1220 | - | |
1221 | - request->max_speed = client->device->max_speed; | |
1222 | - | |
1223 | - return 0; | |
1224 | + return client->device->max_speed; | |
1224 | 1225 | } |
1225 | 1226 | |
1226 | 1227 | static int ioctl_send_broadcast_request(struct client *client, void *buffer) |
include/linux/firewire-cdev.h
... | ... | @@ -223,28 +223,28 @@ |
223 | 223 | }; |
224 | 224 | |
225 | 225 | /* available since kernel version 2.6.22 */ |
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) | |
228 | -#define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) | |
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) | |
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) | |
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) | |
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) | |
237 | -#define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) | |
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) | |
228 | +#define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate) | |
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) | |
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) | |
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) | |
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) | |
237 | +#define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso) | |
238 | 238 | |
239 | 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 | 242 | /* available since kernel version 2.6.30 */ |
243 | 243 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource) |
244 | 244 | #define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate) |
245 | 245 | #define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource) |
246 | 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 | 248 | #define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request) |
249 | 249 | #define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet) |
250 | 250 | |
... | ... | @@ -599,15 +599,6 @@ |
599 | 599 | __u64 channels; |
600 | 600 | __u32 bandwidth; |
601 | 601 | __u32 handle; |
602 | -}; | |
603 | - | |
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 | 602 | }; |
612 | 603 | |
613 | 604 | /** |