Hi,
At a development period for Linux v4.4, firewire-lib module got an abstraction of asynchronous transaction for transmission of MIDI message. I did this with an assumption that this is required for Digi00x series, as well as TASCAM FireWire series. However, my recent work reveal it's actually not[0].
This patchset localizes the abstraction just for TASCAM FireWire series.
[0] [alsa-devel] [PATCH 0/4] ALSA: firewire-digi00x: integration to support console models http://mailman.alsa-project.org/pipermail/alsa-devel/2017-April/119397.html
Takashi Sakamoto (8): firewire-lib/firewire-tascam: localize async midi port firewire-tascam: remove callback function from async midi port firewire-tascam: send fixed-length transaction for async midi port firewire-tascam: use the same address for asynchronous transaction for MIDI message firewire-tascam: use fixed-length array for message cache to async midi port firewire-tascam: initialize parameters at open of rawmidi character devices firewire-tascam: move message parameters for async midi port firewire-tascam: support drain callback for MIDI playback substream
sound/firewire/lib.c | 141 ---------------------------- sound/firewire/lib.h | 54 ----------- sound/firewire/tascam/tascam-midi.c | 13 ++- sound/firewire/tascam/tascam-transaction.c | 142 ++++++++++++++++++++++++----- sound/firewire/tascam/tascam.h | 39 +++++++- 5 files changed, 162 insertions(+), 227 deletions(-)