diff options
Diffstat (limited to 'kernel/sound/firewire/lib.h')
-rw-r--r-- | kernel/sound/firewire/lib.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/kernel/sound/firewire/lib.h b/kernel/sound/firewire/lib.h new file mode 100644 index 000000000..02cfabc9c --- /dev/null +++ b/kernel/sound/firewire/lib.h @@ -0,0 +1,23 @@ +#ifndef SOUND_FIREWIRE_LIB_H_INCLUDED +#define SOUND_FIREWIRE_LIB_H_INCLUDED + +#include <linux/firewire-constants.h> +#include <linux/types.h> + +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, + unsigned int flags); + +/* returns true if retrying the transaction would not make sense */ +static inline bool rcode_is_permanent_error(int rcode) +{ + return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR; +} + +#endif |