1145482Smp/* SPDX-License-Identifier: GPL-2.0-or-later */ 2131966Smp/* 3145482Smp * Linux driver for TerraTec DMX 6Fire USB 459355Sobrien * 5145482Smp * Author: Torsten Schenk <torsten.schenk@zoho.com> 6145482Smp * Created: Jan 01, 2011 7145482Smp * Copyright: (C) Torsten Schenk 859355Sobrien */ 9145482Smp 10145482Smp#ifndef USB6FIRE_MIDI_H 1159355Sobrien#define USB6FIRE_MIDI_H 12145482Smp 13145482Smp#include "common.h" 1459355Sobrien 15145482Smpstruct midi_runtime { 16145482Smp struct sfire_chip *chip; 17145482Smp struct snd_rawmidi *instance; 1859355Sobrien 19145482Smp struct snd_rawmidi_substream *in; 20145482Smp char in_active; 21145482Smp 2259355Sobrien spinlock_t in_lock; 23145482Smp spinlock_t out_lock; 24145482Smp struct snd_rawmidi_substream *out; 2559355Sobrien struct urb out_urb; 26145482Smp u8 out_serial; /* serial number of out packet */ 27145482Smp u8 *out_buffer; 2859355Sobrien int buffer_offset; 29145482Smp 30145482Smp void (*in_received)(struct midi_runtime *rt, u8 *data, int length); 3159355Sobrien}; 32145482Smp 33145482Smpint usb6fire_midi_init(struct sfire_chip *chip); 3459355Sobrienvoid usb6fire_midi_abort(struct sfire_chip *chip); 35145482Smpvoid usb6fire_midi_destroy(struct sfire_chip *chip); 36145482Smp#endif /* USB6FIRE_MIDI_H */ 3759355Sobrien 38145482Smp