[PATCH] i386: PARAVIRT: Clean up paravirt patchable wrappers
[linux-2.6/verdex.git] / drivers / ieee1394 / raw1394-private.h
blob50daabf6e5fa38317ce247246945a40191975db7
1 #ifndef IEEE1394_RAW1394_PRIVATE_H
2 #define IEEE1394_RAW1394_PRIVATE_H
4 /* header for definitions that are private to the raw1394 driver
5 and not visible to user-space */
7 #define RAW1394_DEVICE_MAJOR 171
8 #define RAW1394_DEVICE_NAME "raw1394"
10 #define RAW1394_MAX_USER_CSR_DIRS 16
12 struct iso_block_store {
13 atomic_t refcount;
14 size_t data_size;
15 quadlet_t data[0];
18 enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
19 RAW1394_ISO_RECV = 1,
20 RAW1394_ISO_XMIT = 2 };
22 struct file_info {
23 struct list_head list;
25 enum { opened, initialized, connected } state;
26 unsigned int protocol_version;
28 struct hpsb_host *host;
30 struct list_head req_pending; /* protected by reqlists_lock */
31 struct list_head req_complete; /* protected by reqlists_lock */
32 spinlock_t reqlists_lock;
33 wait_queue_head_t wait_complete;
35 struct list_head addr_list; /* protected by host_info_lock */
37 u8 __user *fcp_buffer;
39 /* old ISO API */
40 u64 listen_channels;
41 quadlet_t __user *iso_buffer;
42 size_t iso_buffer_length;
44 u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
46 /* new rawiso API */
47 enum raw1394_iso_state iso_state;
48 struct hpsb_iso *iso_handle;
50 /* User space's CSR1212 dynamic ConfigROM directories */
51 struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
53 /* Legacy ConfigROM update flag */
54 u8 cfgrom_upd;
57 struct arm_addr {
58 struct list_head addr_list; /* file_info list */
59 u64 start, end;
60 u64 arm_tag;
61 u8 access_rights;
62 u8 notification_options;
63 u8 client_transactions;
64 u64 recvb;
65 u16 rec_length;
66 u8 *addr_space_buffer; /* accessed by read/write/lock requests */
69 struct pending_request {
70 struct list_head list;
71 struct file_info *file_info;
72 struct hpsb_packet *packet;
73 struct iso_block_store *ibs;
74 quadlet_t *data;
75 int free_data;
76 struct raw1394_request req;
79 struct host_info {
80 struct list_head list;
81 struct hpsb_host *host;
82 struct list_head file_info_list; /* protected by host_info_lock */
85 #endif /* IEEE1394_RAW1394_PRIVATE_H */