summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2017-04-14 10:46:26 +0300
committerTakashi Iwai <tiwai@suse.de>2017-04-14 15:50:29 +0300
commit9bae2150d0144e0be423367e5385442141979213 (patch)
tree201a54f6e8b31d0cb7fa8c5738a66486af87e068
parent531f471834227d0321110c071ea352bb14aca36d (diff)
downloadlinux-9bae2150d0144e0be423367e5385442141979213.tar.xz
ALSA: firewire-tascam: remove callback function from async midi port
As a result of localization of async midi port, ALSA driver for TASCAM FireWire series can call helper function directly instead of callback registration. This commit removes the redundant design. Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/firewire/tascam/tascam-transaction.c8
-rw-r--r--sound/firewire/tascam/tascam.h9
2 files changed, 4 insertions, 13 deletions
diff --git a/sound/firewire/tascam/tascam-transaction.c b/sound/firewire/tascam/tascam-transaction.c
index 8ba006e456e8..dcbc0033a3ad 100644
--- a/sound/firewire/tascam/tascam-transaction.c
+++ b/sound/firewire/tascam/tascam-transaction.c
@@ -197,7 +197,7 @@ static void midi_port_work(struct work_struct *work)
* Later, snd_rawmidi_transmit_ack() is called.
*/
memset(port->buf, 0, port->len);
- port->consume_bytes = port->fill(substream, port->buf);
+ port->consume_bytes = fill_message(substream, port->buf);
if (port->consume_bytes <= 0) {
/* Do it in next chance, immediately. */
if (port->consume_bytes == 0) {
@@ -242,8 +242,7 @@ static void midi_port_work(struct work_struct *work)
}
int snd_fw_async_midi_port_init(struct snd_fw_async_midi_port *port,
- struct fw_unit *unit, u64 addr, unsigned int len,
- snd_fw_async_midi_port_fill fill)
+ struct fw_unit *unit, u64 addr, unsigned int len)
{
port->len = DIV_ROUND_UP(len, 4) * 4;
port->buf = kzalloc(port->len, GFP_KERNEL);
@@ -252,7 +251,6 @@ int snd_fw_async_midi_port_init(struct snd_fw_async_midi_port *port,
port->parent = fw_parent_device(unit);
port->addr = addr;
- port->fill = fill;
port->idling = true;
port->next_ktime = 0;
port->error = false;
@@ -347,7 +345,7 @@ int snd_tscm_transaction_register(struct snd_tscm *tscm)
err = snd_fw_async_midi_port_init(
&tscm->out_ports[i], tscm->unit,
TSCM_ADDR_BASE + TSCM_OFFSET_MIDI_RX_QUAD,
- 4, fill_message);
+ 4);
if (err < 0)
goto error;
}
diff --git a/sound/firewire/tascam/tascam.h b/sound/firewire/tascam/tascam.h
index de76313e5d50..116a2003f19e 100644
--- a/sound/firewire/tascam/tascam.h
+++ b/sound/firewire/tascam/tascam.h
@@ -45,11 +45,6 @@ struct snd_tscm_spec {
#define TSCM_MIDI_IN_PORT_MAX 4
#define TSCM_MIDI_OUT_PORT_MAX 4
-struct snd_fw_async_midi_port;
-typedef int (*snd_fw_async_midi_port_fill)(
- struct snd_rawmidi_substream *substream,
- u8 *buf);
-
struct snd_fw_async_midi_port {
struct fw_device *parent;
struct work_struct work;
@@ -64,7 +59,6 @@ struct snd_fw_async_midi_port {
unsigned int len;
struct snd_rawmidi_substream *substream;
- snd_fw_async_midi_port_fill fill;
int consume_bytes;
};
@@ -155,8 +149,7 @@ int snd_tscm_stream_lock_try(struct snd_tscm *tscm);
void snd_tscm_stream_lock_release(struct snd_tscm *tscm);
int snd_fw_async_midi_port_init(struct snd_fw_async_midi_port *port,
- struct fw_unit *unit, u64 addr, unsigned int len,
- snd_fw_async_midi_port_fill fill);
+ struct fw_unit *unit, u64 addr, unsigned int len);
void snd_fw_async_midi_port_destroy(struct snd_fw_async_midi_port *port);
static inline void