Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 
 12 struct iso_block_store {
 13         atomic_t refcount;
 14         size_t data_size;
 15         quadlet_t data[0];
 16 };
 17 
 18 enum raw1394_iso_state { RAW1394_ISO_INACTIVE = 0,
 19                          RAW1394_ISO_RECV = 1,
 20                          RAW1394_ISO_XMIT = 2 };
 21 
 22 struct file_info {
 23         struct list_head list;
 24 
 25         struct mutex state_mutex;
 26         enum { opened, initialized, connected } state;
 27         unsigned int protocol_version;
 28 
 29         struct hpsb_host *host;
 30 
 31         struct list_head req_pending;   /* protected by reqlists_lock */
 32         struct list_head req_complete;  /* protected by reqlists_lock */
 33         spinlock_t reqlists_lock;
 34         wait_queue_head_t wait_complete;
 35 
 36         struct list_head addr_list;     /* protected by host_info_lock */
 37 
 38         u8 __user *fcp_buffer;
 39 
 40         u8 notification; /* (busreset-notification) RAW1394_NOTIFY_OFF/ON */
 41 
 42         /* new rawiso API */
 43         enum raw1394_iso_state iso_state;
 44         struct hpsb_iso *iso_handle;
 45 
 46         /* User space's CSR1212 dynamic ConfigROM directories */
 47         struct csr1212_keyval *csr1212_dirs[RAW1394_MAX_USER_CSR_DIRS];
 48 
 49         /* Legacy ConfigROM update flag */
 50         u8 cfgrom_upd;
 51 };
 52 
 53 struct arm_addr {
 54         struct list_head addr_list; /* file_info list */
 55         u64    start, end;
 56         u64    arm_tag;
 57         u8     access_rights;
 58         u8     notification_options;
 59         u8     client_transactions;
 60         u64    recvb;
 61         u16    rec_length;
 62         u8     *addr_space_buffer; /* accessed by read/write/lock requests */
 63 };
 64 
 65 struct pending_request {
 66         struct list_head list;
 67         struct file_info *file_info;
 68         struct hpsb_packet *packet;
 69         struct iso_block_store *ibs;
 70         quadlet_t *data;
 71         int free_data;
 72         struct raw1394_request req;
 73 };
 74 
 75 struct host_info {
 76         struct list_head list;
 77         struct hpsb_host *host;
 78         struct list_head file_info_list;  /* protected by host_info_lock */
 79 };
 80 
 81 #endif  /* IEEE1394_RAW1394_PRIVATE_H */
 82 
  This page was automatically generated by the LXR engine.