Commit 84ab9408 authored by Takashi Iwai's avatar Takashi Iwai

Merge tag 'asoc-fix-v6.0-rc7' of...

Merge tag 'asoc-fix-v6.0-rc7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Last fixes for v6.0

In the even that there's another pull request here's some more driver
specific fixes.
parents c35fbea4 e18f6bcf
...@@ -793,6 +793,8 @@ static const struct regmap_access_table es8316_volatile_table = { ...@@ -793,6 +793,8 @@ static const struct regmap_access_table es8316_volatile_table = {
static const struct regmap_config es8316_regmap = { static const struct regmap_config es8316_regmap = {
.reg_bits = 8, .reg_bits = 8,
.val_bits = 8, .val_bits = 8,
.use_single_read = true,
.use_single_write = true,
.max_register = 0x53, .max_register = 0x53,
.volatile_table = &es8316_volatile_table, .volatile_table = &es8316_volatile_table,
.cache_type = REGCACHE_RBTREE, .cache_type = REGCACHE_RBTREE,
......
...@@ -714,11 +714,12 @@ static int wcd_mbhc_initialise(struct wcd_mbhc *mbhc) ...@@ -714,11 +714,12 @@ static int wcd_mbhc_initialise(struct wcd_mbhc *mbhc)
struct snd_soc_component *component = mbhc->component; struct snd_soc_component *component = mbhc->component;
int ret; int ret;
ret = pm_runtime_resume_and_get(component->dev); ret = pm_runtime_get_sync(component->dev);
if (ret < 0 && ret != -EACCES) { if (ret < 0 && ret != -EACCES) {
dev_err_ratelimited(component->dev, dev_err_ratelimited(component->dev,
"pm_runtime_resume_and_get failed in %s, ret %d\n", "pm_runtime_get_sync failed in %s, ret %d\n",
__func__, ret); __func__, ret);
pm_runtime_put_noidle(component->dev);
return ret; return ret;
} }
...@@ -1096,11 +1097,12 @@ static void wcd_correct_swch_plug(struct work_struct *work) ...@@ -1096,11 +1097,12 @@ static void wcd_correct_swch_plug(struct work_struct *work)
mbhc = container_of(work, struct wcd_mbhc, correct_plug_swch); mbhc = container_of(work, struct wcd_mbhc, correct_plug_swch);
component = mbhc->component; component = mbhc->component;
ret = pm_runtime_resume_and_get(component->dev); ret = pm_runtime_get_sync(component->dev);
if (ret < 0 && ret != -EACCES) { if (ret < 0 && ret != -EACCES) {
dev_err_ratelimited(component->dev, dev_err_ratelimited(component->dev,
"pm_runtime_resume_and_get failed in %s, ret %d\n", "pm_runtime_get_sync failed in %s, ret %d\n",
__func__, ret); __func__, ret);
pm_runtime_put_noidle(component->dev);
return; return;
} }
micbias_mv = wcd_mbhc_get_micbias(mbhc); micbias_mv = wcd_mbhc_get_micbias(mbhc);
......
...@@ -1974,8 +1974,8 @@ static int wcd9335_trigger(struct snd_pcm_substream *substream, int cmd, ...@@ -1974,8 +1974,8 @@ static int wcd9335_trigger(struct snd_pcm_substream *substream, int cmd,
case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH: case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
slim_stream_unprepare(dai_data->sruntime);
slim_stream_disable(dai_data->sruntime); slim_stream_disable(dai_data->sruntime);
slim_stream_unprepare(dai_data->sruntime);
break; break;
default: default:
break; break;
......
...@@ -1913,8 +1913,8 @@ static int wcd934x_trigger(struct snd_pcm_substream *substream, int cmd, ...@@ -1913,8 +1913,8 @@ static int wcd934x_trigger(struct snd_pcm_substream *substream, int cmd,
case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH: case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
slim_stream_unprepare(dai_data->sruntime);
slim_stream_disable(dai_data->sruntime); slim_stream_disable(dai_data->sruntime);
slim_stream_unprepare(dai_data->sruntime);
break; break;
default: default:
break; break;
......
...@@ -199,18 +199,10 @@ static int fsl_audmix_put_out_src(struct snd_kcontrol *kcontrol, ...@@ -199,18 +199,10 @@ static int fsl_audmix_put_out_src(struct snd_kcontrol *kcontrol,
static const struct snd_kcontrol_new fsl_audmix_snd_controls[] = { static const struct snd_kcontrol_new fsl_audmix_snd_controls[] = {
/* FSL_AUDMIX_CTR controls */ /* FSL_AUDMIX_CTR controls */
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, SOC_ENUM_EXT("Mixing Clock Source", fsl_audmix_enum[0],
.name = "Mixing Clock Source", snd_soc_get_enum_double, fsl_audmix_put_mix_clk_src),
.info = snd_soc_info_enum_double, SOC_ENUM_EXT("Output Source", fsl_audmix_enum[1],
.access = SNDRV_CTL_ELEM_ACCESS_WRITE, snd_soc_get_enum_double, fsl_audmix_put_out_src),
.put = fsl_audmix_put_mix_clk_src,
.private_value = (unsigned long)&fsl_audmix_enum[0] },
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
.name = "Output Source",
.info = snd_soc_info_enum_double,
.access = SNDRV_CTL_ELEM_ACCESS_WRITE,
.put = fsl_audmix_put_out_src,
.private_value = (unsigned long)&fsl_audmix_enum[1] },
SOC_ENUM("Output Width", fsl_audmix_enum[2]), SOC_ENUM("Output Width", fsl_audmix_enum[2]),
SOC_ENUM("Frame Rate Diff Error", fsl_audmix_enum[3]), SOC_ENUM("Frame Rate Diff Error", fsl_audmix_enum[3]),
SOC_ENUM("Clock Freq Diff Error", fsl_audmix_enum[4]), SOC_ENUM("Clock Freq Diff Error", fsl_audmix_enum[4]),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment