aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/raw1394-private.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /drivers/ieee1394/raw1394-private.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'drivers/ieee1394/raw1394-private.h')
-rw-r--r--drivers/ieee1394/raw1394-private.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/drivers/ieee1394/raw1394-private.h b/drivers/ieee1394/raw1394-private.h
new file mode 100644
index 000000000000..c93587be9cab
--- /dev/null
+++ b/drivers/ieee1394/raw1394-private.h
@@ -0,0 +1,86 @@
1#ifndef IEEE1394_RAW1394_PRIVATE_H
2#define IEEE1394_RAW1394_PRIVATE_H
3
4/* header for definitions that are private to the raw1394 driver
5 and not visible to user-space */
6
7#define RAW1394_DEVICE_MAJOR 171
8#define RAW1394_DEVICE_NAME "raw1394"
9
10#define RAW1394_MAX_USER_CSR_DIRS 16
11
12struct iso_block_store {
13 atomic_t refcount;
14 size_t data_size;
15 quadlet_t data[0];
16};
17
18enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
19 RAW1394_ISO_RECV = 1,
20 RAW1394_ISO_XMIT = 2 };
21
22struct file_info {
23 struct list_head list;
24
25 enum { opened, initialized, connected } state;
26 unsigned int protocol_version;
27
28 struct hpsb_host *host;
29
30 struct list_head req_pending;
31 struct list_head req_complete;
32 struct semaphore complete_sem;
33 spinlock_t reqlists_lock;
34 wait_queue_head_t poll_wait_complete;
35
36 struct list_head addr_list;
37
38 u8 __user *fcp_buffer;
39
40 /* old ISO API */
41 u64 listen_channels;
42 quadlet_t __user *iso_buffer;
43 size_t iso_buffer_length;
44
45 u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
46
47 /* new rawiso API */
48 enum raw1394_iso_state iso_state;
49 struct hpsb_iso *iso_handle;
50
51 /* User space's CSR1212 dynamic ConfigROM directories */
52 struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
53
54 /* Legacy ConfigROM update flag */
55 u8 cfgrom_upd;
56};
57
58struct arm_addr {
59 struct list_head addr_list; /* file_info list */
60 u64 start, end;
61 u64 arm_tag;
62 u8 access_rights;
63 u8 notification_options;
64 u8 client_transactions;
65 u64 recvb;
66 u16 rec_length;
67 u8 *addr_space_buffer; /* accessed by read/write/lock */
68};
69
70struct pending_request {
71 struct list_head list;
72 struct file_info *file_info;
73 struct hpsb_packet *packet;
74 struct iso_block_store *ibs;
75 quadlet_t *data;
76 int free_data;
77 struct raw1394_request req;
78};
79
80struct host_info {
81 struct list_head list;
82 struct hpsb_host *host;
83 struct list_head file_info_list;
84};
85
86#endif /* IEEE1394_RAW1394_PRIVATE_H */