Merge remote-tracking branches 'asoc/topic/adau1977', 'asoc/topic/arizona', 'asoc...
[sfrench/cifs-2.6.git] / sound / firewire / fcp.h
1 #ifndef SOUND_FIREWIRE_FCP_H_INCLUDED
2 #define SOUND_FIREWIRE_FCP_H_INCLUDED
3
4 #define AVC_PLUG_INFO_BUF_BYTES 4
5
6 struct fw_unit;
7
8 /*
9  * AV/C Digital Interface Command Set General Specification 4.2
10  * (Sep 2004, 1394TA)
11  */
12 enum avc_general_plug_dir {
13         AVC_GENERAL_PLUG_DIR_IN         = 0,
14         AVC_GENERAL_PLUG_DIR_OUT        = 1,
15         AVC_GENERAL_PLUG_DIR_COUNT
16 };
17 int avc_general_set_sig_fmt(struct fw_unit *unit, unsigned int rate,
18                             enum avc_general_plug_dir dir,
19                             unsigned short plug);
20 int avc_general_get_sig_fmt(struct fw_unit *unit, unsigned int *rate,
21                             enum avc_general_plug_dir dir,
22                             unsigned short plug);
23 int avc_general_get_plug_info(struct fw_unit *unit, unsigned int subunit_type,
24                               unsigned int subunit_id, unsigned int subfunction,
25                               u8 info[AVC_PLUG_INFO_BUF_BYTES]);
26
27 int fcp_avc_transaction(struct fw_unit *unit,
28                         const void *command, unsigned int command_size,
29                         void *response, unsigned int response_size,
30                         unsigned int response_match_bytes);
31 void fcp_bus_reset(struct fw_unit *unit);
32
33 #endif