38 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * Linux driver for TerraTec DMX 6Fire USB4 *5 * Author: Torsten Schenk <torsten.schenk@zoho.com>6 * Created: Jan 01, 20117 * Copyright: (C) Torsten Schenk8 */9 10#ifndef USB6FIRE_MIDI_H11#define USB6FIRE_MIDI_H12 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 38