]> git.ipfire.org Git - thirdparty/kernel/stable.git/blame - sound/firewire/lib.h
Merge tag 'gfs2-v5.2.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2...
[thirdparty/kernel/stable.git] / sound / firewire / lib.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
31ef9134
CL
2#ifndef SOUND_FIREWIRE_LIB_H_INCLUDED
3#define SOUND_FIREWIRE_LIB_H_INCLUDED
4
5#include <linux/firewire-constants.h>
6#include <linux/types.h>
585d7cba
TS
7#include <linux/sched.h>
8#include <sound/rawmidi.h>
31ef9134
CL
9
10struct fw_unit;
11
1b70485f
CL
12#define FW_GENERATION_MASK 0x00ff
13#define FW_FIXED_GENERATION 0x0100
14#define FW_QUIET 0x0200
15
31ef9134 16int snd_fw_transaction(struct fw_unit *unit, int tcode,
1b70485f
CL
17 u64 offset, void *buffer, size_t length,
18 unsigned int flags);
31ef9134
CL
19
20/* returns true if retrying the transaction would not make sense */
21static inline bool rcode_is_permanent_error(int rcode)
22{
23 return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR;
24}
25
923f92eb
TS
26void snd_fw_schedule_registration(struct fw_unit *unit,
27 struct delayed_work *dwork);
28
31ef9134 29#endif