Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206831
b: refs/heads/master
c: 604f451
h: refs/heads/master
i:
  206829: 4ade4ea
  206827: 25efa86
  206823: 4f409bd
  206815: b77f95a
v: v3
  • Loading branch information
Stefan Richter committed Jun 20, 2010
1 parent 27d4465 commit 43bbef6
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0244f57302f7e8bebd2f1ab58767eac2e9f678a6
refs/heads/master: 604f45167824e18ad5766e51ecf1d4d65f15118d
7 changes: 6 additions & 1 deletion trunk/drivers/firewire/core-cdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@

#include "core.h"

/*
* ABI version history is documented in linux/firewire-cdev.h.
*/
#define FW_CDEV_KERNEL_VERSION 3

struct client {
u32 version;
struct fw_device *device;
Expand Down Expand Up @@ -395,7 +400,7 @@ static int ioctl_get_info(struct client *client, union ioctl_arg *arg)
unsigned long ret = 0;

client->version = a->version;
a->version = FW_CDEV_VERSION;
a->version = FW_CDEV_KERNEL_VERSION;
a->card = client->device->card->index;

down_read(&fw_device_rwsem);
Expand Down
22 changes: 16 additions & 6 deletions trunk/include/linux/firewire-cdev.h
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ union fw_cdev_event {
struct fw_cdev_event_response response;
struct fw_cdev_event_request request;
struct fw_cdev_event_iso_interrupt iso_interrupt;
struct fw_cdev_event_iso_resource iso_resource;
struct fw_cdev_event_iso_resource iso_resource; /* added in 2.6.30 */
};

/* available since kernel version 2.6.22 */
Expand Down Expand Up @@ -252,22 +252,32 @@ union fw_cdev_event {
#define FW_CDEV_IOC_GET_CYCLE_TIMER2 _IOWR('#', 0x14, struct fw_cdev_get_cycle_timer2)

/*
* FW_CDEV_VERSION History
* ABI version history
* 1 (2.6.22) - initial version
* (2.6.24) - added %FW_CDEV_IOC_GET_CYCLE_TIMER
* 2 (2.6.30) - changed &fw_cdev_event_iso_interrupt.header if
* &fw_cdev_create_iso_context.header_size is 8 or more
* - added %FW_CDEV_IOC_*_ISO_RESOURCE*,
* %FW_CDEV_IOC_GET_SPEED, %FW_CDEV_IOC_SEND_BROADCAST_REQUEST,
* %FW_CDEV_IOC_SEND_STREAM_PACKET
* (2.6.32) - added time stamp to xmit &fw_cdev_event_iso_interrupt
* (2.6.33) - IR has always packet-per-buffer semantics now, not one of
* dual-buffer or packet-per-buffer depending on hardware
* 3 (2.6.34) - made &fw_cdev_get_cycle_timer reliable
* - added %FW_CDEV_IOC_GET_CYCLE_TIMER2
*/
#define FW_CDEV_VERSION 3
#define FW_CDEV_VERSION 3 /* Meaningless; don't use this macro. */

/**
* struct fw_cdev_get_info - General purpose information ioctl
* @version: The version field is just a running serial number.
* We never break backwards compatibility, but may add more
* structs and ioctls in later revisions.
* @version: The version field is just a running serial number. Both an
* input parameter (ABI version implemented by the client) and
* output parameter (ABI version implemented by the kernel).
* A client must not fill in an %FW_CDEV_VERSION defined from an
* included kernel header file but the actual version for which
* the client was implemented. This is necessary for forward
* compatibility. We never break backwards compatibility, but
* may add more structs, events, and ioctls in later revisions.
* @rom_length: If @rom is non-zero, at most rom_length bytes of configuration
* ROM will be copied into that user space address. In either
* case, @rom_length is updated with the actual length of the
Expand Down

0 comments on commit 43bbef6

Please sign in to comment.