summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>2016-08-04 12:44:32 +0300
committerGreg Kroah-Hartman <gregkh@google.com>2016-08-04 20:07:30 +0300
commit4ffca62a051c3e1722bcaf6a367b419e6e5e40e0 (patch)
tree3f21590572671a6b96c0b8c5da211cd9a0e7b77e /drivers
parent1568159868f6b6c4ab17aa28ef4d5d4fc02317f1 (diff)
downloadlinux-4ffca62a051c3e1722bcaf6a367b419e6e5e40e0.tar.xz
greybus: audio: Update parameters for gbaudio_module_update API
Earlier, module path was enabled based on module's control switch e.g. 'SPK Amp switch'. Thus widget's name was sufficient to parse and identify the direction. Now individual modules' path will be enabled based on AIF widget status. So, it is required to get complete widget details, say w->type is used to identify direction (playback/capture) and w->sname is used to identify module's DATA connection used for communication via greybus. Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org> Reviewed-by: Mark Greer <mgreer@animalcreek.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/greybus/audio_codec.c5
-rw-r--r--drivers/staging/greybus/audio_codec.h6
-rw-r--r--drivers/staging/greybus/audio_topology.c6
3 files changed, 8 insertions, 9 deletions
diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c
index a6f843784f2f..e2a0c16397cd 100644
--- a/drivers/staging/greybus/audio_codec.c
+++ b/drivers/staging/greybus/audio_codec.c
@@ -333,10 +333,11 @@ static int gbaudio_module_disable_rx(struct gbaudio_codec_info *codec,
}
int gbaudio_module_update(struct gbaudio_codec_info *codec,
- const char *w_name,
- struct gbaudio_module_info *module, int enable)
+ struct snd_soc_dapm_widget *w,
+ struct gbaudio_module_info *module, int enable)
{
int stream, ret = 0;
+ const char *w_name = w->name;
dev_dbg(module->dev, "%s:Module update %s sequence\n", w_name,
enable ? "Enable":"Disable");
diff --git a/drivers/staging/greybus/audio_codec.h b/drivers/staging/greybus/audio_codec.h
index 1646b2ca0f0d..c5a8808108db 100644
--- a/drivers/staging/greybus/audio_codec.h
+++ b/drivers/staging/greybus/audio_codec.h
@@ -206,9 +206,9 @@ int gbaudio_tplg_parse_data(struct gbaudio_module_info *module,
void gbaudio_tplg_release(struct gbaudio_module_info *module);
int gbaudio_module_update(struct gbaudio_codec_info *codec,
- const char *w_name,
- struct gbaudio_module_info *module,
- int enable);
+ struct snd_soc_dapm_widget *w,
+ struct gbaudio_module_info *module,
+ int enable);
int gbaudio_register_module(struct gbaudio_module_info *module);
void gbaudio_unregister_module(struct gbaudio_module_info *module);
diff --git a/drivers/staging/greybus/audio_topology.c b/drivers/staging/greybus/audio_topology.c
index 3c7c786d3b03..937529653cd3 100644
--- a/drivers/staging/greybus/audio_topology.c
+++ b/drivers/staging/greybus/audio_topology.c
@@ -960,14 +960,12 @@ static int gbaudio_widget_event(struct snd_soc_dapm_widget *w,
case SND_SOC_DAPM_PRE_PMU:
ret = gb_audio_gb_enable_widget(module->mgmt_connection, wid);
if (!ret)
- ret = gbaudio_module_update(gbcodec, w->name, module,
- 1);
+ ret = gbaudio_module_update(gbcodec, w, module, 1);
break;
case SND_SOC_DAPM_POST_PMD:
ret = gb_audio_gb_disable_widget(module->mgmt_connection, wid);
if (!ret)
- ret = gbaudio_module_update(gbcodec, w->name, module,
- 0);
+ ret = gbaudio_module_update(gbcodec, w, module, 0);
break;
}
if (ret)