Commit c8a25900f35e575938c791507894c036c0f2ca7d

Authored by Stefan Richter
1 parent 6104ee92d6

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 /**