* [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