Merge remote-tracking branches 'regulator/topic/abb', 'regulator/topic/act8865',...
[linux-2.6-block.git] / sound / firewire / fcp.h
CommitLineData
31ef9134
CL
1#ifndef SOUND_FIREWIRE_FCP_H_INCLUDED
2#define SOUND_FIREWIRE_FCP_H_INCLUDED
3
1017abed
TS
4#define AVC_PLUG_INFO_BUF_BYTES 4
5
31ef9134
CL
6struct fw_unit;
7
1017abed
TS
8/*
9 * AV/C Digital Interface Command Set General Specification 4.2
10 * (Sep 2004, 1394TA)
11 */
12enum 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};
17int avc_general_set_sig_fmt(struct fw_unit *unit, unsigned int rate,
18 enum avc_general_plug_dir dir,
19 unsigned short plug);
20int avc_general_get_sig_fmt(struct fw_unit *unit, unsigned int *rate,
21 enum avc_general_plug_dir dir,
22 unsigned short plug);
23int 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
31ef9134
CL
27int 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);
31void fcp_bus_reset(struct fw_unit *unit);
32
33#endif