ALSA: bebob: rename file with vendor-dependent code so that it's for Yamaha/Terratec
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 24 Aug 2016 12:42:42 +0000 (21:42 +0900)
committerTakashi Iwai <tiwai@suse.de>
Wed, 24 Aug 2016 13:35:03 +0000 (15:35 +0200)
Once Yamaha and Terratec cooperated to develop some audio and music units
on IEEE 1394 bus. On these models, the same embedded board is used, and
similar configurations are also applied.

This commit renames file for Yamaha's configuration so that it's for both
of Yamaha and Terratec.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/bebob/Makefile
sound/firewire/bebob/bebob_yamaha.c [deleted file]
sound/firewire/bebob/bebob_yamaha_terratec.c [new file with mode: 0644]

index af7ed66..dd45486 100644 (file)
@@ -1,4 +1,5 @@
 snd-bebob-objs := bebob_command.o bebob_stream.o bebob_proc.o bebob_midi.o \
-                 bebob_pcm.o bebob_hwdep.o bebob_terratec.o bebob_yamaha.o \
-                 bebob_focusrite.o bebob_maudio.o bebob.o
+                 bebob_pcm.o bebob_hwdep.o bebob_terratec.o \
+                 bebob_yamaha_terratec.o bebob_focusrite.o bebob_maudio.o \
+                 bebob.o
 obj-$(CONFIG_SND_BEBOB) += snd-bebob.o
diff --git a/sound/firewire/bebob/bebob_yamaha.c b/sound/firewire/bebob/bebob_yamaha.c
deleted file mode 100644 (file)
index 90d4404..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * bebob_yamaha.c - a part of driver for BeBoB based devices
- *
- * Copyright (c) 2013-2014 Takashi Sakamoto
- *
- * Licensed under the terms of the GNU General Public License, version 2.
- */
-
-#include "./bebob.h"
-
-/*
- * NOTE:
- * Yamaha GO44 is not designed to be used as stand-alone mixer. So any streams
- * must be accompanied. If changing the state, a LED on the device starts to
- * blink and its sync status is false. In this state, the device sounds nothing
- * even if streaming. To start streaming at the current sampling rate is only
- * way to revocer this state. GO46 is better for stand-alone mixer.
- *
- * Both of them have a capability to change its sampling rate up to 192.0kHz.
- * At 192.0kHz, the device reports 4 PCM-in, 1 MIDI-in, 6 PCM-out, 1 MIDI-out.
- * But Yamaha's driver reduce 2 PCM-in, 1 MIDI-in, 2 PCM-out, 1 MIDI-out to use
- * 'Extended Stream Format Information Command - Single Request' in 'Additional
- * AVC commands' defined by BridgeCo.
- * This ALSA driver don't do this because a bit tiresome. Then isochronous
- * streaming with many asynchronous transactions brings sounds with noises.
- * Unfortunately current 'ffado-mixer' generated many asynchronous transaction
- * to observe device's state, mainly check cmp connection and signal format. I
- * reccomend users to close ffado-mixer at 192.0kHz if mixer is needless.
- */
-
-static enum snd_bebob_clock_type clk_src_types[] = {
-       SND_BEBOB_CLOCK_TYPE_INTERNAL,
-       SND_BEBOB_CLOCK_TYPE_EXTERNAL,  /* S/PDIF */
-};
-static int
-clk_src_get(struct snd_bebob *bebob, unsigned int *id)
-{
-       int err;
-
-       err = avc_audio_get_selector(bebob->unit, 0, 4, id);
-       if (err < 0)
-               return err;
-
-       if (*id >= ARRAY_SIZE(clk_src_types))
-               return -EIO;
-
-       return 0;
-}
-static const struct snd_bebob_clock_spec clock_spec = {
-       .num    = ARRAY_SIZE(clk_src_types),
-       .types  = clk_src_types,
-       .get    = &clk_src_get,
-};
-static const struct snd_bebob_rate_spec rate_spec = {
-       .get    = &snd_bebob_stream_get_rate,
-       .set    = &snd_bebob_stream_set_rate,
-};
-const struct snd_bebob_spec yamaha_go_spec = {
-       .clock  = &clock_spec,
-       .rate   = &rate_spec,
-       .meter  = NULL
-};
diff --git a/sound/firewire/bebob/bebob_yamaha_terratec.c b/sound/firewire/bebob/bebob_yamaha_terratec.c
new file mode 100644 (file)
index 0000000..5c5d7d3
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * bebob_yamaha.c - a part of driver for BeBoB based devices
+ *
+ * Copyright (c) 2013-2014 Takashi Sakamoto
+ *
+ * Licensed under the terms of the GNU General Public License, version 2.
+ */
+
+#include "./bebob.h"
+
+/*
+ * NOTE:
+ * Yamaha GO44 is not designed to be used as stand-alone mixer. So any streams
+ * must be accompanied. If changing the state, a LED on the device starts to
+ * blink and its sync status is false. In this state, the device sounds nothing
+ * even if streaming. To start streaming at the current sampling rate is only
+ * way to recover this state. GO46 is better for stand-alone mixer.
+ *
+ * Both of them have a capability to change its sampling rate up to 192.0kHz.
+ * At 192.0kHz, the device reports 4 PCM-in, 1 MIDI-in, 6 PCM-out, 1 MIDI-out.
+ * But Yamaha's driver reduce 2 PCM-in, 1 MIDI-in, 2 PCM-out, 1 MIDI-out to use
+ * 'Extended Stream Format Information Command - Single Request' in 'Additional
+ * AVC commands' defined by BridgeCo.
+ * This ALSA driver don't do this because a bit tiresome. Then isochronous
+ * streaming with many asynchronous transactions brings sounds with noises.
+ * Unfortunately current 'ffado-mixer' generated many asynchronous transaction
+ * to observe device's state, mainly check cmp connection and signal format. I
+ * recommend users to close ffado-mixer at 192.0kHz if mixer is needless.
+ */
+
+static enum snd_bebob_clock_type clk_src_types[] = {
+       SND_BEBOB_CLOCK_TYPE_INTERNAL,
+       SND_BEBOB_CLOCK_TYPE_EXTERNAL,  /* S/PDIF */
+};
+static int
+clk_src_get(struct snd_bebob *bebob, unsigned int *id)
+{
+       int err;
+
+       err = avc_audio_get_selector(bebob->unit, 0, 4, id);
+       if (err < 0)
+               return err;
+
+       if (*id >= ARRAY_SIZE(clk_src_types))
+               return -EIO;
+
+       return 0;
+}
+static const struct snd_bebob_clock_spec clock_spec = {
+       .num    = ARRAY_SIZE(clk_src_types),
+       .types  = clk_src_types,
+       .get    = &clk_src_get,
+};
+static const struct snd_bebob_rate_spec rate_spec = {
+       .get    = &snd_bebob_stream_get_rate,
+       .set    = &snd_bebob_stream_set_rate,
+};
+const struct snd_bebob_spec yamaha_go_spec = {
+       .clock  = &clock_spec,
+       .rate   = &rate_spec,
+       .meter  = NULL
+};