summaryrefslogtreecommitdiffstats
path: root/sound/firewire/lib.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-09-04 22:17:38 +0200
committerClemens Ladisch <clemens@ladisch.de>2013-10-20 22:07:57 +0200
commit1b70485f135a39d5f2d8c392a16817456fa3a5cd (patch)
treecf1b9b833619374c3169c368890652d53594b43d /sound/firewire/lib.h
parentALSA: dice: optimize reading of consecutive registers (diff)
downloadlinux-1b70485f135a39d5f2d8c392a16817456fa3a5cd.tar.xz
linux-1b70485f135a39d5f2d8c392a16817456fa3a5cd.zip
ALSA: firewire: extend snd_fw_transaction()
Add a flag to snd_fw_transaction() to allow it to abort when a bus reset happens. This removes most of the duplicated error handling loops that were required around calls to the low-level fw_run_transaction(). Also add a flag to suppress error messages; errors are expected when we attempt to clean up after the device was unplugged. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound/firewire/lib.h')
-rw-r--r--sound/firewire/lib.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/firewire/lib.h b/sound/firewire/lib.h
index aef301476ea9..02cfabc9c3c4 100644
--- a/sound/firewire/lib.h
+++ b/sound/firewire/lib.h
@@ -6,8 +6,13 @@
struct fw_unit;
+#define FW_GENERATION_MASK 0x00ff
+#define FW_FIXED_GENERATION 0x0100
+#define FW_QUIET 0x0200
+
int snd_fw_transaction(struct fw_unit *unit, int tcode,
- u64 offset, void *buffer, size_t length);
+ u64 offset, void *buffer, size_t length,
+ unsigned int flags);
/* returns true if retrying the transaction would not make sense */
static inline bool rcode_is_permanent_error(int rcode)