Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
@ 2008-05-13 11:40 Mark Brown
  2008-05-13 11:40 ` [PATCH 02/10] soc - DAPM - Add bulk control registration Mark Brown
  2008-05-13 13:33 ` [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Takashi Iwai
  0 siblings, 2 replies; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Philipp Zabel

From: Philipp Zabel <philipp.zabel@gmail.com>

I suspect that snd_ctl_boolean_mono should have been
snd_ctl_boolean_mono_info instead. This fixes the build for magician.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
---
 include/sound/soc.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index e6ea6f7..d3c8c03 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -238,7 +238,7 @@ int snd_soc_info_volsw(struct snd_kcontrol *kcontrol,
 	struct snd_ctl_elem_info *uinfo);
 int snd_soc_info_volsw_ext(struct snd_kcontrol *kcontrol,
 	struct snd_ctl_elem_info *uinfo);
-#define snd_soc_info_bool_ext		snd_ctl_boolean_mono
+#define snd_soc_info_bool_ext		snd_ctl_boolean_mono_info
 int snd_soc_get_volsw(struct snd_kcontrol *kcontrol,
 	struct snd_ctl_elem_value *ucontrol);
 int snd_soc_put_volsw(struct snd_kcontrol *kcontrol,
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 02/10] soc - DAPM - Add bulk control registration
  2008-05-13 11:40 [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Mark Brown
@ 2008-05-13 11:40 ` Mark Brown
  2008-05-13 11:40   ` [PATCH 03/10] soc - DAPM - Bulk route registration Mark Brown
  2008-05-13 13:33 ` [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Takashi Iwai
  1 sibling, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Mark Brown, Jarkko Nikula, Graeme Gregory,
	Richard Purdie, Frank Mandarino

Most SoC drivers cut'n'paste a loop iterating over an array to register
their DAPM controls.  Provide a function they can call instead.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Frank Mandarino <fmandarino@endrelia.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
---
 include/sound/soc-dapm.h |    3 +++
 sound/soc/soc-dapm.c     |   27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 40cc695..1f30616 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -205,6 +205,9 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol,
 	struct snd_ctl_elem_value *ucontrol);
 int snd_soc_dapm_new_control(struct snd_soc_codec *codec,
 	const struct snd_soc_dapm_widget *widget);
+int snd_soc_dapm_new_controls(struct snd_soc_codec *codec,
+	const struct snd_soc_dapm_widget *widget,
+	int num);
 
 /* dapm path setup */
 int snd_soc_dapm_connect_input(struct snd_soc_codec *codec,
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index c60200c..811d652 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1234,6 +1234,33 @@ int snd_soc_dapm_new_control(struct snd_soc_codec *codec,
 EXPORT_SYMBOL_GPL(snd_soc_dapm_new_control);
 
 /**
+ * snd_soc_dapm_new_controls - create new dapm controls
+ * @codec: audio codec
+ * @widget: widget array
+ * @num: number of widgets
+ *
+ * Creates new DAPM controls based upon the templates.
+ *
+ * Returns 0 for success else error.
+ */
+int snd_soc_dapm_new_controls(struct snd_soc_codec *codec,
+	const struct snd_soc_dapm_widget *widget,
+	int num)
+{
+	int i, ret;
+
+	for (i = 0; i < num; i++) {
+		ret = snd_soc_dapm_new_control(codec, widget);
+		if (ret < 0)
+			return ret;
+		widget++;
+	}
+	return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_dapm_new_controls);
+
+
+/**
  * snd_soc_dapm_stream_event - send a stream event to the dapm core
  * @codec: audio codec
  * @stream: stream name
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 03/10] soc - DAPM - Bulk route registration
  2008-05-13 11:40 ` [PATCH 02/10] soc - DAPM - Add bulk control registration Mark Brown
@ 2008-05-13 11:40   ` Mark Brown
  2008-05-13 11:40     ` [PATCH 04/10] soc - Convert Wolfson codec drivers to use bulk DAPM registration Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: alsa-devel, Mark Brown, Jarkko Nikula, Graeme Gregory,
	Richard Purdie, Frank Mandarino

ASoC codecs and machine drivers that use DAPM routes all cut'n'paste a
loop iterating over a null terminated array of routes.  Factor out this
into a bulk registration function, improving the error reporting for
most users, and deprecate the old API to help out of tree users pick up
the changes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>
Cc: Frank Mandarino <fmandarino@endrelia.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
---
 include/sound/soc-dapm.h |   17 ++++++++++-
 sound/soc/soc-dapm.c     |   72 ++++++++++++++++++++++++++++++++++++---------
 2 files changed, 73 insertions(+), 16 deletions(-)

diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 1f30616..bf4cf0c 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -193,6 +193,7 @@ struct snd_soc_dapm_widget;
 enum snd_soc_dapm_type;
 struct snd_soc_dapm_path;
 struct snd_soc_dapm_pin;
+struct snd_soc_dapm_route;
 
 /* dapm controls */
 int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol,
@@ -210,10 +211,12 @@ int snd_soc_dapm_new_controls(struct snd_soc_codec *codec,
 	int num);
 
 /* dapm path setup */
-int snd_soc_dapm_connect_input(struct snd_soc_codec *codec,
+int  __deprecated snd_soc_dapm_connect_input(struct snd_soc_codec *codec,
 	const char *sink_name, const char *control_name, const char *src_name);
 int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec);
 void snd_soc_dapm_free(struct snd_soc_device *socdev);
+int snd_soc_dapm_add_routes(struct snd_soc_codec *codec,
+			    const struct snd_soc_dapm_route *route, int num);
 
 /* dapm events */
 int snd_soc_dapm_stream_event(struct snd_soc_codec *codec, char *stream,
@@ -250,6 +253,18 @@ enum snd_soc_dapm_type {
 	snd_soc_dapm_post,			/* machine specific post widget - exec last */
 };
 
+/*
+ * DAPM audio route definition.
+ *
+ * Defines an audio route originating at source via control and finishing
+ * at sink.
+ */
+struct snd_soc_dapm_route {
+	const char *sink;
+	const char *control;
+	const char *source;
+};
+
 /* dapm audio path between two widgets */
 struct snd_soc_dapm_path {
 	char *name;
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 811d652..1ef6d94 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -841,21 +841,8 @@ int snd_soc_dapm_sync_endpoints(struct snd_soc_codec *codec)
 }
 EXPORT_SYMBOL_GPL(snd_soc_dapm_sync_endpoints);
 
-/**
- * snd_soc_dapm_connect_input - connect dapm widgets
- * @codec: audio codec
- * @sink: name of target widget
- * @control: mixer control name
- * @source: name of source name
- *
- * Connects 2 dapm widgets together via a named audio path. The sink is
- * the widget receiving the audio signal, whilst the source is the sender
- * of the audio signal.
- *
- * Returns 0 for success else error.
- */
-int snd_soc_dapm_connect_input(struct snd_soc_codec *codec, const char *sink,
-	const char * control, const char *source)
+static int snd_soc_dapm_add_route(struct snd_soc_codec *codec,
+	const char *sink, const char *control, const char *source)
 {
 	struct snd_soc_dapm_path *path;
 	struct snd_soc_dapm_widget *wsource = NULL, *wsink = NULL, *w;
@@ -957,9 +944,64 @@ err:
 	kfree(path);
 	return ret;
 }
+
+/**
+ * snd_soc_dapm_connect_input - connect dapm widgets
+ * @codec: audio codec
+ * @sink: name of target widget
+ * @control: mixer control name
+ * @source: name of source name
+ *
+ * Connects 2 dapm widgets together via a named audio path. The sink is
+ * the widget receiving the audio signal, whilst the source is the sender
+ * of the audio signal.
+ *
+ * This function has been deprecated in favour of snd_soc_dapm_add_routes().
+ *
+ * Returns 0 for success else error.
+ */
+int snd_soc_dapm_connect_input(struct snd_soc_codec *codec, const char *sink,
+	const char *control, const char *source)
+{
+	return snd_soc_dapm_add_route(codec, sink, control, source);
+}
 EXPORT_SYMBOL_GPL(snd_soc_dapm_connect_input);
 
 /**
+ * snd_soc_dapm_add_routes - Add routes between DAPM widgets
+ * @codec: codec
+ * @route: audio routes
+ * @num: number of routes
+ *
+ * Connects 2 dapm widgets together via a named audio path. The sink is
+ * the widget receiving the audio signal, whilst the source is the sender
+ * of the audio signal.
+ *
+ * Returns 0 for success else error. On error all resources can be freed
+ * with a call to snd_soc_card_free().
+ */
+int snd_soc_dapm_add_routes(struct snd_soc_codec *codec,
+			    const struct snd_soc_dapm_route *route, int num)
+{
+	int i, ret;
+
+	for (i = 0; i < num; i++) {
+		ret = snd_soc_dapm_add_route(codec, route->sink,
+					     route->control, route->source);
+		if (ret < 0) {
+			printk(KERN_ERR "Failed to add route %s->%s\n",
+			       route->source,
+			       route->sink);
+			return ret;
+		}
+		route++;
+	}
+
+	return 0;
+}
+EXPORT_SYMBOL_GPL(snd_soc_dapm_add_routes);
+
+/**
  * snd_soc_dapm_new_widgets - add new dapm widgets
  * @codec: audio codec
  *
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 04/10] soc - Convert Wolfson codec drivers to use bulk DAPM registration
  2008-05-13 11:40   ` [PATCH 03/10] soc - DAPM - Bulk route registration Mark Brown
@ 2008-05-13 11:40     ` Mark Brown
  2008-05-13 11:40       ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 sound/soc/codecs/wm8731.c |   16 ++++------------
 sound/soc/codecs/wm8750.c |   16 ++++------------
 sound/soc/codecs/wm8753.c |   17 ++++-------------
 sound/soc/codecs/wm9712.c |   17 ++++-------------
 sound/soc/codecs/wm9713.c |   15 ++++-----------
 5 files changed, 20 insertions(+), 61 deletions(-)

diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index 0cf9265..006923b 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -193,7 +193,7 @@ SND_SOC_DAPM_INPUT("RLINEIN"),
 SND_SOC_DAPM_INPUT("LLINEIN"),
 };
 
-static const char *intercon[][3] = {
+static const struct snd_soc_dapm_route intercon[] = {
 	/* output mixer */
 	{"Output Mixer", "Line Bypass Switch", "Line Input"},
 	{"Output Mixer", "HiFi Playback Switch", "DAC"},
@@ -214,22 +214,14 @@ static const char *intercon[][3] = {
 	{"Line Input", NULL, "LLINEIN"},
 	{"Line Input", NULL, "RLINEIN"},
 	{"Mic Bias", NULL, "MICIN"},
-
-	/* terminator */
-	{NULL, NULL, NULL},
 };
 
 static int wm8731_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(wm8731_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8731_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8731_dapm_widgets,
+				  ARRAY_SIZE(wm8731_dapm_widgets));
 
-	/* set up audio path interconnects */
-	for (i = 0; intercon[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, intercon[i][0],
-			intercon[i][1], intercon[i][2]);
+	snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
diff --git a/sound/soc/codecs/wm8750.c b/sound/soc/codecs/wm8750.c
index 16cd5d4..9c7b0e8 100644
--- a/sound/soc/codecs/wm8750.c
+++ b/sound/soc/codecs/wm8750.c
@@ -378,7 +378,7 @@ static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
 	SND_SOC_DAPM_INPUT("RINPUT3"),
 };
 
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	/* left mixer */
 	{"Left Mixer", "Playback Switch", "Left DAC"},
 	{"Left Mixer", "Left Bypass Switch", "Left Line Mux"},
@@ -470,22 +470,14 @@ static const char *audio_map[][3] = {
 	/* ADC */
 	{"Left ADC", NULL, "Left ADC Mux"},
 	{"Right ADC", NULL, "Right ADC Mux"},
-
-	/* terminator */
-	{NULL, NULL, NULL},
 };
 
 static int wm8750_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(wm8750_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8750_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8750_dapm_widgets,
+				  ARRAY_SIZE(wm8750_dapm_widgets));
 
-	/* set up audio path audio_mapnects */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index fb41826..2bc49ab 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -523,7 +523,7 @@ SND_SOC_DAPM_INPUT("MIC2"),
 SND_SOC_DAPM_VMID("VREF"),
 };
 
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	/* left mixer */
 	{"Left Mixer", "Left Playback Switch", "Left DAC"},
 	{"Left Mixer", "Voice Playback Switch", "Voice DAC"},
@@ -674,23 +674,14 @@ static const char *audio_map[][3] = {
 
 	/* ACOP */
 	{"ACOP", NULL, "ALC Mixer"},
-
-	/* terminator */
-	{NULL, NULL, NULL},
 };
 
 static int wm8753_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
+	snd_soc_dapm_new_controls(codec, wm8753_dapm_widgets,
+				  ARRAY_SIZE(wm8753_dapm_widgets));
 
-	for (i = 0; i < ARRAY_SIZE(wm8753_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8753_dapm_widgets[i]);
-
-	/* set up the WM8753 audio map */
-	for (i = 0; audio_map[i][0] != NULL; i++) {
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
-	}
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
diff --git a/sound/soc/codecs/wm9712.c b/sound/soc/codecs/wm9712.c
index d2d79e1..d205e6c 100644
--- a/sound/soc/codecs/wm9712.c
+++ b/sound/soc/codecs/wm9712.c
@@ -350,7 +350,7 @@ SND_SOC_DAPM_INPUT("MIC1"),
 SND_SOC_DAPM_INPUT("MIC2"),
 };
 
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	/* virtual mixer - mixes left & right channels for spk and mono */
 	{"AC97 Mixer", NULL, "Left DAC"},
 	{"AC97 Mixer", NULL, "Right DAC"},
@@ -446,23 +446,14 @@ static const char *audio_map[][3] = {
 	{"Speaker PGA", NULL, "Speaker Mux"},
 	{"LOUT2", NULL, "Speaker PGA"},
 	{"ROUT2", NULL, "Speaker PGA"},
-
-	{NULL, NULL, NULL},
 };
 
 static int wm9712_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
-
-	for(i = 0; i < ARRAY_SIZE(wm9712_dapm_widgets); i++) {
-		snd_soc_dapm_new_control(codec, &wm9712_dapm_widgets[i]);
-	}
+	snd_soc_dapm_new_controls(codec, wm9712_dapm_widgets,
+				  ARRAY_SIZE(wm9712_dapm_widgets));
 
-	/* set up audio path audio_mapnects */
-	for(i = 0; audio_map[i][0] != NULL; i++) {
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
-	}
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
diff --git a/sound/soc/codecs/wm9713.c b/sound/soc/codecs/wm9713.c
index 1f24116..1d292e7 100644
--- a/sound/soc/codecs/wm9713.c
+++ b/sound/soc/codecs/wm9713.c
@@ -456,7 +456,7 @@ SND_SOC_DAPM_INPUT("MIC2B"),
 SND_SOC_DAPM_VMID("VMID"),
 };
 
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	/* left HP mixer */
 	{"Left HP Mixer", "PC Beep Playback Switch", "PCBEEP"},
 	{"Left HP Mixer", "Voice Playback Switch",   "Voice DAC"},
@@ -607,21 +607,14 @@ static const char *audio_map[][3] = {
 	{"Capture Mono Mux", "Stereo", "Capture Mixer"},
 	{"Capture Mono Mux", "Left", "Left Capture Source"},
 	{"Capture Mono Mux", "Right", "Right Capture Source"},
-
-	{NULL, NULL, NULL},
 };
 
 static int wm9713_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(wm9713_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm9713_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm9713_dapm_widgets,
+				  ARRAY_SIZE(wm9713_dapm_widgets));
 
-	/* set up audio path audio_mapnects */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs
  2008-05-13 11:40     ` [PATCH 04/10] soc - Convert Wolfson codec drivers to use bulk DAPM registration Mark Brown
@ 2008-05-13 11:40       ` Mark Brown
  2008-05-13 11:40         ` [PATCH 06/10] soc - Zaurus - Convert to bulk DAPM " Mark Brown
  2008-05-13 12:34         ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk " Jarkko Nikula
  0 siblings, 2 replies; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Jarkko Nikula

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
---
 sound/soc/codecs/tlv320aic3x.c |   15 ++++-----------
 1 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c
index 957996e..cb8365a 100644
--- a/sound/soc/codecs/tlv320aic3x.c
+++ b/sound/soc/codecs/tlv320aic3x.c
@@ -497,7 +497,7 @@ static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = {
 	SND_SOC_DAPM_INPUT("LINE2R"),
 };
 
-static const char *intercon[][3] = {
+static const struct snd_soc_dapm_route intercon[] = {
 	/* Left Output */
 	{"Left DAC Mux", "DAC_L1", "Left DAC"},
 	{"Left DAC Mux", "DAC_L2", "Left DAC"},
@@ -641,22 +641,15 @@ static const char *intercon[][3] = {
 	{"Right Line Out", NULL, "Right Line2 Bypass Mixer"},
 	{"Mono Out", NULL, "Right Line2 Bypass Mixer"},
 	{"Right HP Out", NULL, "Right Line2 Bypass Mixer"},
-
-	/* terminator */
-	{NULL, NULL, NULL},
 };
 
 static int aic3x_add_widgets(struct snd_soc_codec *codec)
 {
-	int i;
-
-	for (i = 0; i < ARRAY_SIZE(aic3x_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &aic3x_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets,
+				  ARRAY_SIZE(aic3x_dapm_widgets));
 
 	/* set up audio path interconnects */
-	for (i = 0; intercon[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, intercon[i][0],
-					   intercon[i][1], intercon[i][2]);
+	snd_soc_dapm_add_routes(codec, intercon, ARRAY_SIZE(intercon));
 
 	snd_soc_dapm_new_widgets(codec);
 	return 0;
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 06/10] soc - Zaurus - Convert to bulk DAPM registration APIs
  2008-05-13 11:40       ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs Mark Brown
@ 2008-05-13 11:40         ` Mark Brown
  2008-05-13 11:40           ` [PATCH 07/10] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration Mark Brown
  2008-05-13 12:34         ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk " Jarkko Nikula
  1 sibling, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Richard Purdie

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
---
 sound/soc/pxa/corgi.c  |   12 ++++--------
 sound/soc/pxa/poodle.c |   14 +++++---------
 sound/soc/pxa/spitz.c  |   14 +++++---------
 sound/soc/pxa/tosa.c   |   14 ++++----------
 4 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/sound/soc/pxa/corgi.c b/sound/soc/pxa/corgi.c
index 7f32a11..852f16d 100644
--- a/sound/soc/pxa/corgi.c
+++ b/sound/soc/pxa/corgi.c
@@ -247,7 +247,7 @@ SND_SOC_DAPM_HP("Headset Jack", NULL),
 };
 
 /* Corgi machine audio map (connections to the codec pins) */
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 
 	/* headset Jack  - in = micin, out = LHPOUT*/
 	{"Headset Jack", NULL, "LHPOUT"},
@@ -265,8 +265,6 @@ static const char *audio_map[][3] = {
 
 	/* Same as the above but no mic bias for line signals */
 	{"MICIN", NULL, "Line Jack"},
-
-	{NULL, NULL, NULL},
 };
 
 static const char *jack_function[] = {"Headphone", "Mic", "Line", "Headset",
@@ -303,13 +301,11 @@ static int corgi_wm8731_init(struct snd_soc_codec *codec)
 	}
 
 	/* Add corgi specific widgets */
-	for (i = 0; i < ARRAY_SIZE(wm8731_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8731_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8731_dapm_widgets,
+				  ARRAY_SIZE(wm8731_dapm_widgets));
 
 	/* Set up corgi specific audio path audio_map */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_sync_endpoints(codec);
 	return 0;
diff --git a/sound/soc/pxa/poodle.c b/sound/soc/pxa/poodle.c
index 7e830b2..810f1fe 100644
--- a/sound/soc/pxa/poodle.c
+++ b/sound/soc/pxa/poodle.c
@@ -215,8 +215,8 @@ SND_SOC_DAPM_HP("Headphone Jack", NULL),
 SND_SOC_DAPM_SPK("Ext Spk", poodle_amp_event),
 };
 
-/* Corgi machine audio_mapnections to the codec pins */
-static const char *audio_map[][3] = {
+/* Corgi machine connections to the codec pins */
+static const struct snd_soc_dapm_route audio_map[] = {
 
 	/* headphone connected to LHPOUT1, RHPOUT1 */
 	{"Headphone Jack", NULL, "LHPOUT"},
@@ -225,8 +225,6 @@ static const char *audio_map[][3] = {
 	/* speaker connected to LOUT, ROUT */
 	{"Ext Spk", NULL, "ROUT"},
 	{"Ext Spk", NULL, "LOUT"},
-
-	{NULL, NULL, NULL},
 };
 
 static const char *jack_function[] = {"Off", "Headphone"};
@@ -263,13 +261,11 @@ static int poodle_wm8731_init(struct snd_soc_codec *codec)
 	}
 
 	/* Add poodle specific widgets */
-	for (i = 0; i < ARRAY_SIZE(wm8731_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8731_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8731_dapm_widgets,
+				  ARRAY_SIZE(wm8731_dapm_widgets));
 
 	/* Set up poodle specific audio path audio_map */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_sync_endpoints(codec);
 	return 0;
diff --git a/sound/soc/pxa/spitz.c b/sound/soc/pxa/spitz.c
index d8b8372..73a6df8 100644
--- a/sound/soc/pxa/spitz.c
+++ b/sound/soc/pxa/spitz.c
@@ -250,7 +250,7 @@ static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
 };
 
 /* Spitz machine audio_map */
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 
 	/* headphone connected to LOUT1, ROUT1 */
 	{"Headphone Jack", NULL, "LOUT1"},
@@ -269,8 +269,6 @@ static const char *audio_map[][3] = {
 
 	/* line is connected to input 1 - no bias */
 	{"LINPUT1", NULL, "Line Jack"},
-
-	{NULL, NULL, NULL},
 };
 
 static const char *jack_function[] = {"Headphone", "Mic", "Line", "Headset",
@@ -313,13 +311,11 @@ static int spitz_wm8750_init(struct snd_soc_codec *codec)
 	}
 
 	/* Add spitz specific widgets */
-	for (i = 0; i < ARRAY_SIZE(wm8750_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8750_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8750_dapm_widgets,
+				  ARRAY_SIZE(wm8750_dapm_widgets));
 
-	/* Set up spitz specific audio path audio_map */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	/* Set up spitz specific audio paths */
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_sync_endpoints(codec);
 	return 0;
diff --git a/sound/soc/pxa/tosa.c b/sound/soc/pxa/tosa.c
index 7346d7e..fda2aa0 100644
--- a/sound/soc/pxa/tosa.c
+++ b/sound/soc/pxa/tosa.c
@@ -154,7 +154,7 @@ SND_SOC_DAPM_SPK("Speaker", NULL),
 };
 
 /* tosa audio map */
-static const char *audio_map[][3] = {
+static const snd_soc_dapm_route audio_map[] = {
 
 	/* headphone connected to HPOUTL, HPOUTR */
 	{"Headphone Jack", NULL, "HPOUTL"},
@@ -173,8 +173,6 @@ static const char *audio_map[][3] = {
 	{"Headset Jack", NULL, "HPOUTR"},
 	{"LINEINR", NULL, "Mic Bias"},
 	{"Mic Bias", NULL, "Headset Jack"},
-
-	{NULL, NULL, NULL},
 };
 
 static const char *jack_function[] = {"Headphone", "Mic", "Line", "Headset",
@@ -208,15 +206,11 @@ static int tosa_ac97_init(struct snd_soc_codec *codec)
 	}
 
 	/* add tosa specific widgets */
-	for (i = 0; i < ARRAY_SIZE(tosa_dapm_widgets); i++) {
-		snd_soc_dapm_new_control(codec, &tosa_dapm_widgets[i]);
-	}
+	snd_soc_dapm_new_controls(codec, &tosa_dapm_widgets,
+				  ARRAY_SIZE(tosa_dapm_widgets));
 
 	/* set up tosa specific audio path audio_map */
-	for (i = 0; audio_map[i][0] != NULL; i++) {
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
-	}
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_sync_endpoints(codec);
 	return 0;
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 07/10] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration
  2008-05-13 11:40         ` [PATCH 06/10] soc - Zaurus - Convert to bulk DAPM " Mark Brown
@ 2008-05-13 11:40           ` Mark Brown
  2008-05-13 11:40             ` [PATCH 08/10] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Frank Mandarino

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Frank Mandarino <fmandarino@endrelia.com>
---
 sound/soc/at91/eti_b1_wm8731.c |   17 ++++-------------
 1 files changed, 4 insertions(+), 13 deletions(-)

diff --git a/sound/soc/at91/eti_b1_wm8731.c b/sound/soc/at91/eti_b1_wm8731.c
index 1347dcf..4a383a4 100644
--- a/sound/soc/at91/eti_b1_wm8731.c
+++ b/sound/soc/at91/eti_b1_wm8731.c
@@ -191,7 +191,7 @@ static const struct snd_soc_dapm_widget eti_b1_dapm_widgets[] = {
 	SND_SOC_DAPM_SPK("Ext Spk", NULL),
 };
 
-static const char *intercon[][3] = {
+static const struct snd_soc_dapm_route intercon[] = {
 
 	/* speaker connected to LHPOUT */
 	{"Ext Spk", NULL, "LHPOUT"},
@@ -199,9 +199,6 @@ static const char *intercon[][3] = {
 	/* mic is connected to Mic Jack, with WM8731 Mic Bias */
 	{"MICIN", NULL, "Mic Bias"},
 	{"Mic Bias", NULL, "Int Mic"},
-
-	/* terminator */
-	{NULL, NULL, NULL},
 };
 
 /*
@@ -209,20 +206,14 @@ static const char *intercon[][3] = {
  */
 static int eti_b1_wm8731_init(struct snd_soc_codec *codec)
 {
-	int i;
-
 	DBG("eti_b1_wm8731_init() called\n");
 
 	/* Add specific widgets */
-	for(i = 0; i < ARRAY_SIZE(eti_b1_dapm_widgets); i++) {
-		snd_soc_dapm_new_control(codec, &eti_b1_dapm_widgets[i]);
-	}
+	snd_soc_dapm_new_controls(codec, eti_b1_dapm_widgets,
+				  ARRAY_SIZE(eti_b1_dapm_widgets));
 
 	/* Set up specific audio path interconnects */
-	for(i = 0; intercon[i][0] != NULL; i++) {
-		snd_soc_dapm_connect_input(codec, intercon[i][0],
-			intercon[i][1], intercon[i][2]);
-	}
+	snd_soc_dapm_add_route(codec, intercon, ARRAY_SIZE(intercon));
 
 	/* not connected */
 	snd_soc_dapm_set_endpoint(codec, "RLINEIN", 0);
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 08/10] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs
  2008-05-13 11:40           ` [PATCH 07/10] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration Mark Brown
@ 2008-05-13 11:40             ` Mark Brown
  2008-05-13 11:40               ` [PATCH 09/10] soc - davinci-evm - Update for " Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Graeme Gregory, alsa-devel, Mark Brown

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Graeme Gregory <graeme@openmoko.org>
---
 sound/soc/s3c24xx/neo1973_wm8753.c |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/sound/soc/s3c24xx/neo1973_wm8753.c b/sound/soc/s3c24xx/neo1973_wm8753.c
index e469186..79c5027 100644
--- a/sound/soc/s3c24xx/neo1973_wm8753.c
+++ b/sound/soc/s3c24xx/neo1973_wm8753.c
@@ -425,8 +425,7 @@ static const struct snd_soc_dapm_widget wm8753_dapm_widgets[] = {
 };
 
 
-/* example machine audio_mapnections */
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route dapm_routes[] = {
 
 	/* Connections to the lm4857 amp */
 	{"Audio Out", NULL, "LOUT1"},
@@ -449,8 +448,6 @@ static const char *audio_map[][3] = {
 
 	/* Connect the ALC pins */
 	{"ACIN", NULL, "ACOP"},
-
-	{NULL, NULL, NULL},
 };
 
 static const char *lm4857_mode[] = {
@@ -526,8 +523,8 @@ static int neo1973_wm8753_init(struct snd_soc_codec *codec)
 	set_scenario_endpoints(codec, NEO_AUDIO_OFF);
 
 	/* Add neo1973 specific widgets */
-	for (i = 0; i < ARRAY_SIZE(wm8753_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &wm8753_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, wm8753_dapm_widgets,
+				  ARRAY_SIZE(wm8753_dapm_widgets));
 
 	/* add neo1973 specific controls */
 	for (i = 0; i < ARRAY_SIZE(wm8753_neo1973_controls); i++) {
@@ -538,11 +535,9 @@ static int neo1973_wm8753_init(struct snd_soc_codec *codec)
 			return err;
 	}
 
-	/* set up neo1973 specific audio path audio_mapnects */
-	for (i = 0; audio_map[i][0] != NULL; i++) {
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
-	}
+	/* set up neo1973 specific audio routes */
+	err = snd_soc_dapm_add_routes(codec, dapm_routes,
+				      ARRAY_SIZE(dapm_routes));
 
 	snd_soc_dapm_sync_endpoints(codec);
 	return 0;
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 09/10] soc - davinci-evm - Update for bulk DAPM registration APIs
  2008-05-13 11:40             ` [PATCH 08/10] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs Mark Brown
@ 2008-05-13 11:40               ` Mark Brown
  2008-05-13 11:40                 ` [PATCH 10/10] soc - n810 " Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
 sound/soc/davinci/davinci-evm.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/sound/soc/davinci/davinci-evm.c b/sound/soc/davinci/davinci-evm.c
index fcd1652..4c70a0e 100644
--- a/sound/soc/davinci/davinci-evm.c
+++ b/sound/soc/davinci/davinci-evm.c
@@ -71,7 +71,7 @@ static const struct snd_soc_dapm_widget aic3x_dapm_widgets[] = {
 };
 
 /* davinci-evm machine audio_mapnections to the codec pins */
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	/* Headphone connected to HPLOUT, HPROUT */
 	{"Headphone Jack", NULL, "HPLOUT"},
 	{"Headphone Jack", NULL, "HPROUT"},
@@ -90,23 +90,17 @@ static const char *audio_map[][3] = {
 	{"LINE2L", NULL, "Line In"},
 	{"LINE1R", NULL, "Line In"},
 	{"LINE2R", NULL, "Line In"},
-
-	{NULL, NULL, NULL},
 };
 
 /* Logic for a aic3x as connected on a davinci-evm */
 static int evm_aic3x_init(struct snd_soc_codec *codec)
 {
-	int i;
-
 	/* Add davinci-evm specific widgets */
-	for (i = 0; i < ARRAY_SIZE(aic3x_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &aic3x_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, aic3x_dapm_widgets,
+				  ARRAY_SIZE(aic3x_dapm_widgets));
 
 	/* Set up davinci-evm specific audio path audio_map */
-	for (i = 0; audio_map[i][0] != NULL; i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-					   audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	/* not connected */
 	snd_soc_dapm_set_endpoint(codec, "MONO_LOUT", 0);
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 10/10] soc - n810 - Update for bulk DAPM registration APIs
  2008-05-13 11:40               ` [PATCH 09/10] soc - davinci-evm - Update for " Mark Brown
@ 2008-05-13 11:40                 ` Mark Brown
  0 siblings, 0 replies; 19+ messages in thread
From: Mark Brown @ 2008-05-13 11:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Jarkko Nikula

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
---
 sound/soc/omap/n810.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/sound/soc/omap/n810.c b/sound/soc/omap/n810.c
index 83b1eb4..1340f73 100644
--- a/sound/soc/omap/n810.c
+++ b/sound/soc/omap/n810.c
@@ -177,7 +177,7 @@ static const struct snd_soc_dapm_widget aic33_dapm_widgets[] = {
 	SND_SOC_DAPM_HP("Headphone Jack", n810_jack_event),
 };
 
-static const char *audio_map[][3] = {
+static const struct snd_soc_dapm_route audio_map[] = {
 	{"Headphone Jack", NULL, "HPLOUT"},
 	{"Headphone Jack", NULL, "HPROUT"},
 
@@ -217,13 +217,11 @@ static int n810_aic33_init(struct snd_soc_codec *codec)
 	}
 
 	/* Add N810 specific widgets */
-	for (i = 0; i < ARRAY_SIZE(aic33_dapm_widgets); i++)
-		snd_soc_dapm_new_control(codec, &aic33_dapm_widgets[i]);
+	snd_soc_dapm_new_controls(codec, aic33_dapm_widgets,
+				  ARRAY_SIZE(aic33_dapm_widgets));
 
 	/* Set up N810 specific audio path audio_map */
-	for (i = 0; i < ARRAY_SIZE(audio_map); i++)
-		snd_soc_dapm_connect_input(codec, audio_map[i][0],
-			audio_map[i][1], audio_map[i][2]);
+	snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
 
 	snd_soc_dapm_sync_endpoints(codec);
 
-- 
1.5.5.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs
  2008-05-13 11:40       ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs Mark Brown
  2008-05-13 11:40         ` [PATCH 06/10] soc - Zaurus - Convert to bulk DAPM " Mark Brown
@ 2008-05-13 12:34         ` Jarkko Nikula
  2008-05-13 12:43           ` Mark Brown
  2008-05-13 13:20           ` Jarkko Nikula
  1 sibling, 2 replies; 19+ messages in thread
From: Jarkko Nikula @ 2008-05-13 12:34 UTC (permalink / raw)
  To: ext Mark Brown; +Cc: Takashi Iwai, alsa-devel

On Tue, 13 May 2008 12:40:10 +0100
"ext Mark Brown" <broonie@opensource.wolfsonmicro.com> wrote:

> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
> ---
>  sound/soc/codecs/tlv320aic3x.c |   15 ++++-----------
>  1 files changed, 4 insertions(+), 11 deletions(-)
> 
Hmm. I applied patches 2, 3, 5 and 10 to my n810-aic33 setup and
following codec controls below disappear. Probably I miss some patch
from asoc-dev since I build this test on top of linux-omap with two
recent aic3x patches from Daniel?


Jarkko

--- curr	2008-05-13 15:18:09.000000000 +0300
+++ new	2008-05-13 15:19:40.000000000 +0300
@@ -20,18 +20,7 @@
 Simple mixer control 'Left DAC_L1 Mixer Mono',0
 Simple mixer control 'Left HPCOM Mux',0
 Simple mixer control 'Left Line1L Mux',0
-Simple mixer control 'Left Line2 Bypass Mixer HP Swit',0
-Simple mixer control 'Left Line2 Bypass Mixer HPCOM S',0
-Simple mixer control 'Left Line2 Bypass Mixer Line Sw',0
-Simple mixer control 'Left Line2 Bypass Mixer Mono Sw',0
 Simple mixer control 'Left Line2L Mux',0
-Simple mixer control 'Left PGA Bypass Mixer HP',0
-Simple mixer control 'Left PGA Bypass Mixer HPCOM Swi',0
-Simple mixer control 'Left PGA Bypass Mixer Line Swit',0
-Simple mixer control 'Left PGA Bypass Mixer Mono Swit',0
-Simple mixer control 'Left PGA Mixer Line1L',0
-Simple mixer control 'Left PGA Mixer Line2L',0
-Simple mixer control 'Left PGA Mixer Mic3L',0
 Simple mixer control 'PGA',0
 Simple mixer control 'Right DAC Mux',0
 Simple mixer control 'Right DAC_R1 Mixer HP',0
@@ -40,16 +29,5 @@
 Simple mixer control 'Right DAC_R1 Mixer Mono',0
 Simple mixer control 'Right HPCOM Mux',0
 Simple mixer control 'Right Line1R Mux',0
-Simple mixer control 'Right Line2 Bypass Mixer HP Swi',0
-Simple mixer control 'Right Line2 Bypass Mixer HPCOM ',0
-Simple mixer control 'Right Line2 Bypass Mixer Line S',0
-Simple mixer control 'Right Line2 Bypass Mixer Mono S',0
 Simple mixer control 'Right Line2R Mux',0
-Simple mixer control 'Right PGA Bypass Mixer HP Switc',0
-Simple mixer control 'Right PGA Bypass Mixer HPCOM Sw',0
-Simple mixer control 'Right PGA Bypass Mixer Line Swi',0
-Simple mixer control 'Right PGA Bypass Mixer Mono Swi',0
-Simple mixer control 'Right PGA Mixer Line1R',0
-Simple mixer control 'Right PGA Mixer Line2R',0
-Simple mixer control 'Right PGA Mixer Mic3R',0
 Simple mixer control 'Speaker Function',0

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs
  2008-05-13 12:34         ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk " Jarkko Nikula
@ 2008-05-13 12:43           ` Mark Brown
  2008-05-13 13:20           ` Jarkko Nikula
  1 sibling, 0 replies; 19+ messages in thread
From: Mark Brown @ 2008-05-13 12:43 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: Takashi Iwai, alsa-devel

On Tue, May 13, 2008 at 03:34:19PM +0300, Jarkko Nikula wrote:

> Hmm. I applied patches 2, 3, 5 and 10 to my n810-aic33 setup and
> following codec controls below disappear. Probably I miss some patch
> from asoc-dev since I build this test on top of linux-omap with two
> recent aic3x patches from Daniel?

No, there shouldn't be any other dependencies.  I'll take a look but I
don't have any relevant hardware.  Are there any complaints in dmesg?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs
  2008-05-13 12:34         ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk " Jarkko Nikula
  2008-05-13 12:43           ` Mark Brown
@ 2008-05-13 13:20           ` Jarkko Nikula
  2008-05-13 13:28             ` Mark Brown
  1 sibling, 1 reply; 19+ messages in thread
From: Jarkko Nikula @ 2008-05-13 13:20 UTC (permalink / raw)
  To: ext Mark Brown; +Cc: Takashi Iwai, alsa-devel

My own patch [1] fixed this problem. Thanks to new log message "Failed
to add route Mono Out->MONOLOUT" :-)


Jarkko

1.
http://mailman.alsa-project.org/pipermail/alsa-devel/2008-May/007721.html

On Tue, 13 May 2008 15:34:19 +0300
Jarkko Nikula <jarkko.nikula@nokia.com> wrote:

> On Tue, 13 May 2008 12:40:10 +0100
> "ext Mark Brown" <broonie@opensource.wolfsonmicro.com> wrote:
> 
> > Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> > Cc: Jarkko Nikula <jarkko.nikula@nokia.com>
> > ---
> >  sound/soc/codecs/tlv320aic3x.c |   15 ++++-----------
> >  1 files changed, 4 insertions(+), 11 deletions(-)
> > 
> Hmm. I applied patches 2, 3, 5 and 10 to my n810-aic33 setup and
> following codec controls below disappear. Probably I miss some patch
> from asoc-dev since I build this test on top of linux-omap with two
> recent aic3x patches from Daniel?
> 
> 
> Jarkko
> 
> --- curr	2008-05-13 15:18:09.000000000 +0300
> +++ new	2008-05-13 15:19:40.000000000 +0300
> @@ -20,18 +20,7 @@
>  Simple mixer control 'Left DAC_L1 Mixer Mono',0
>  Simple mixer control 'Left HPCOM Mux',0
>  Simple mixer control 'Left Line1L Mux',0
> -Simple mixer control 'Left Line2 Bypass Mixer HP Swit',0
> -Simple mixer control 'Left Line2 Bypass Mixer HPCOM S',0
> -Simple mixer control 'Left Line2 Bypass Mixer Line Sw',0
> -Simple mixer control 'Left Line2 Bypass Mixer Mono Sw',0
>  Simple mixer control 'Left Line2L Mux',0
> -Simple mixer control 'Left PGA Bypass Mixer HP',0
> -Simple mixer control 'Left PGA Bypass Mixer HPCOM Swi',0
> -Simple mixer control 'Left PGA Bypass Mixer Line Swit',0
> -Simple mixer control 'Left PGA Bypass Mixer Mono Swit',0
> -Simple mixer control 'Left PGA Mixer Line1L',0
> -Simple mixer control 'Left PGA Mixer Line2L',0
> -Simple mixer control 'Left PGA Mixer Mic3L',0
>  Simple mixer control 'PGA',0
>  Simple mixer control 'Right DAC Mux',0
>  Simple mixer control 'Right DAC_R1 Mixer HP',0
> @@ -40,16 +29,5 @@
>  Simple mixer control 'Right DAC_R1 Mixer Mono',0
>  Simple mixer control 'Right HPCOM Mux',0
>  Simple mixer control 'Right Line1R Mux',0
> -Simple mixer control 'Right Line2 Bypass Mixer HP Swi',0
> -Simple mixer control 'Right Line2 Bypass Mixer HPCOM ',0
> -Simple mixer control 'Right Line2 Bypass Mixer Line S',0
> -Simple mixer control 'Right Line2 Bypass Mixer Mono S',0
>  Simple mixer control 'Right Line2R Mux',0
> -Simple mixer control 'Right PGA Bypass Mixer HP Switc',0
> -Simple mixer control 'Right PGA Bypass Mixer HPCOM Sw',0
> -Simple mixer control 'Right PGA Bypass Mixer Line Swi',0
> -Simple mixer control 'Right PGA Bypass Mixer Mono Swi',0
> -Simple mixer control 'Right PGA Mixer Line1R',0
> -Simple mixer control 'Right PGA Mixer Line2R',0
> -Simple mixer control 'Right PGA Mixer Mic3R',0
>  Simple mixer control 'Speaker Function',0

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs
  2008-05-13 13:20           ` Jarkko Nikula
@ 2008-05-13 13:28             ` Mark Brown
  0 siblings, 0 replies; 19+ messages in thread
From: Mark Brown @ 2008-05-13 13:28 UTC (permalink / raw)
  To: Jarkko Nikula; +Cc: Takashi Iwai, alsa-devel

On Tue, May 13, 2008 at 04:20:02PM +0300, Jarkko Nikula wrote:

> My own patch [1] fixed this problem. Thanks to new log message "Failed
> to add route Mono Out->MONOLOUT" :-)

Ah, excellent - that's already in ALSA so the patch series should apply
safely.  Thanks.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
  2008-05-13 11:40 [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Mark Brown
  2008-05-13 11:40 ` [PATCH 02/10] soc - DAPM - Add bulk control registration Mark Brown
@ 2008-05-13 13:33 ` Takashi Iwai
  2008-05-13 13:41   ` Mark Brown
  1 sibling, 1 reply; 19+ messages in thread
From: Takashi Iwai @ 2008-05-13 13:33 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Philipp Zabel

At Tue, 13 May 2008 12:40:06 +0100,
Mark Brown wrote:
> 
> From: Philipp Zabel <philipp.zabel@gmail.com>
> 
> I suspect that snd_ctl_boolean_mono should have been
> snd_ctl_boolean_mono_info instead. This fixes the build for magician.
> 
> Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>

Applied all patches to ALSA tree.  The first one was already applied
directly to be pushed to the upstream at the next time.


Thanks,

Takashi

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
  2008-05-13 13:33 ` [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Takashi Iwai
@ 2008-05-13 13:41   ` Mark Brown
  2008-05-13 13:48     ` Takashi Iwai
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 13:41 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Philipp Zabel

On Tue, May 13, 2008 at 03:33:45PM +0200, Takashi Iwai wrote:

> Applied all patches to ALSA tree.  The first one was already applied
> directly to be pushed to the upstream at the next time.

Thanks.

FWIW I'm currently basing my patches against the mm branch of:

   git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa.git

so I will automagically drop anything that appears in hg.  Is there
anything better to use?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
  2008-05-13 13:41   ` Mark Brown
@ 2008-05-13 13:48     ` Takashi Iwai
  2008-05-13 14:08       ` Mark Brown
  0 siblings, 1 reply; 19+ messages in thread
From: Takashi Iwai @ 2008-05-13 13:48 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Philipp Zabel

At Tue, 13 May 2008 14:41:12 +0100,
Mark Brown wrote:
> 
> On Tue, May 13, 2008 at 03:33:45PM +0200, Takashi Iwai wrote:
> 
> > Applied all patches to ALSA tree.  The first one was already applied
> > directly to be pushed to the upstream at the next time.
> 
> Thanks.
> 
> FWIW I'm currently basing my patches against the mm branch of:
> 
>    git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa.git
> 
> so I will automagically drop anything that appears in hg.  Is there
> anything better to use?

I'm currently working on my own git:
	git://git.kernel.orb/pub/scm/linux/kernel/git/tiwai/sound-2.6.git

It's rebased sometimes, but not too often.


Takashi

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
  2008-05-13 13:48     ` Takashi Iwai
@ 2008-05-13 14:08       ` Mark Brown
  2008-05-13 15:21         ` Takashi Iwai
  0 siblings, 1 reply; 19+ messages in thread
From: Mark Brown @ 2008-05-13 14:08 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Philipp Zabel

On Tue, May 13, 2008 at 03:48:46PM +0200, Takashi Iwai wrote:

> I'm currently working on my own git:
> 	git://git.kernel.orb/pub/scm/linux/kernel/git/tiwai/sound-2.6.git

> It's rebased sometimes, but not too often.

The master branch looks like the best one to base things not intended
for stable on?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext
  2008-05-13 14:08       ` Mark Brown
@ 2008-05-13 15:21         ` Takashi Iwai
  0 siblings, 0 replies; 19+ messages in thread
From: Takashi Iwai @ 2008-05-13 15:21 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Philipp Zabel

At Tue, 13 May 2008 15:08:50 +0100,
Mark Brown wrote:
> 
> On Tue, May 13, 2008 at 03:48:46PM +0200, Takashi Iwai wrote:
> 
> > I'm currently working on my own git:
> > 	git://git.kernel.orb/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
> 
> > It's rebased sometimes, but not too often.
> 
> The master branch looks like the best one to base things not intended
> for stable on?

Yes, the master branch is for the next kernel release, and thus good
for basing.


Takashi

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2008-05-13 15:21 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-13 11:40 [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Mark Brown
2008-05-13 11:40 ` [PATCH 02/10] soc - DAPM - Add bulk control registration Mark Brown
2008-05-13 11:40   ` [PATCH 03/10] soc - DAPM - Bulk route registration Mark Brown
2008-05-13 11:40     ` [PATCH 04/10] soc - Convert Wolfson codec drivers to use bulk DAPM registration Mark Brown
2008-05-13 11:40       ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk registration APIs Mark Brown
2008-05-13 11:40         ` [PATCH 06/10] soc - Zaurus - Convert to bulk DAPM " Mark Brown
2008-05-13 11:40           ` [PATCH 07/10] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration Mark Brown
2008-05-13 11:40             ` [PATCH 08/10] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs Mark Brown
2008-05-13 11:40               ` [PATCH 09/10] soc - davinci-evm - Update for " Mark Brown
2008-05-13 11:40                 ` [PATCH 10/10] soc - n810 " Mark Brown
2008-05-13 12:34         ` [PATCH 05/10] soc - tlv320aic3x - Convert to use bulk " Jarkko Nikula
2008-05-13 12:43           ` Mark Brown
2008-05-13 13:20           ` Jarkko Nikula
2008-05-13 13:28             ` Mark Brown
2008-05-13 13:33 ` [PATCH 01/10] ASoC: build fix for snd_soc_info_bool_ext Takashi Iwai
2008-05-13 13:41   ` Mark Brown
2008-05-13 13:48     ` Takashi Iwai
2008-05-13 14:08       ` Mark Brown
2008-05-13 15:21         ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox