midi.h (859B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Linux driver for TerraTec DMX 6Fire USB 4 * 5 * Author: Torsten Schenk <torsten.schenk@zoho.com> 6 * Created: Jan 01, 2011 7 * Copyright: (C) Torsten Schenk 8 */ 9 10#ifndef USB6FIRE_MIDI_H 11#define USB6FIRE_MIDI_H 12 13#include "common.h" 14 15struct midi_runtime { 16 struct sfire_chip *chip; 17 struct snd_rawmidi *instance; 18 19 struct snd_rawmidi_substream *in; 20 char in_active; 21 22 spinlock_t in_lock; 23 spinlock_t out_lock; 24 struct snd_rawmidi_substream *out; 25 struct urb out_urb; 26 u8 out_serial; /* serial number of out packet */ 27 u8 *out_buffer; 28 int buffer_offset; 29 30 void (*in_received)(struct midi_runtime *rt, u8 *data, int length); 31}; 32 33int usb6fire_midi_init(struct sfire_chip *chip); 34void usb6fire_midi_abort(struct sfire_chip *chip); 35void usb6fire_midi_destroy(struct sfire_chip *chip); 36#endif /* USB6FIRE_MIDI_H */ 37