/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Linux driver for TerraTec DMX 6Fire USB * * Author: Torsten Schenk * Created: Jan 01, 2011 * Copyright: (C) Torsten Schenk */ #ifndef USB6FIRE_MIDI_H #define USB6FIRE_MIDI_H #include "common.h" struct midi_runtime { struct sfire_chip *chip; struct snd_rawmidi *instance; struct snd_rawmidi_substream *in; char in_active; spinlock_t in_lock; spinlock_t out_lock; struct snd_rawmidi_substream *out; struct urb out_urb; u8 out_serial; /* serial number of out packet */ u8 *out_buffer; int buffer_offset; void (*in_received)(struct midi_runtime *rt, u8 *data, int length); }; int usb6fire_midi_init(struct sfire_chip *chip); void usb6fire_midi_abort(struct sfire_chip *chip); void usb6fire_midi_destroy(struct sfire_chip *chip); #endif /* USB6FIRE_MIDI_H */