aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-17ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopbackJing Xiangfeng1-1/+1
axg_card_add_tdm_loopback() misses to call kfree() in an error path. We can use devm_kasprintf() to fix the issue, also improve maintainability. So use it instead. Fixes: c84836d7f650 ("ASoC: meson: axg-card: use modern dai_link style") Signed-off-by: Jing Xiangfeng <[email protected]> Reviewed-by: Jerome Brunet <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16Merge series "ALSA: hda: export snd_hda_codec_cleanup()" from Kai Vehmanen ↵Mark Brown2-1/+4
<[email protected]>: Hi, this small series is preparation for a set of bugfix ASoC patches addressing a memleak at module unload for the HDA codec wrapper. Instead of duplicating HDA code in ASoC tree, I chose to export more functionality from hda_codec.c so it can be (re)used in ASoC's hdac_hda.c. Full series: https://github.com/thesofproject/linux/pull/2252 Takashi and Mark, feedback is welcome on how to best handle this kind of series where I have dependent patches both in sound/pci/hda and in ASoC. For this series, I'm sending the patches separately and when/if first set is merged by Takashi, I'll route the ASoC patches via our usually SOF set to Mark. Kai Vehmanen (2): ALSA: hda: export snd_hda_codec_cleanup_for_unbind() ALSA: hda: fix snd_hda_codec_cleanup() documentation include/sound/hda_codec.h | 2 ++ sound/pci/hda/hda_codec.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) -- 2.27.0
2020-07-16Merge series "ASoC: fsl-asoc-card: Support hp and mic detection" from ↵Mark Brown5-8/+86
Shengjiu Wang <[email protected]>: Support hp and mic detection. Add a parameter for asoc_simple_init_jack. Shengjiu Wang (3): ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack ASoC: bindings: fsl-asoc-card: Support hp-det-gpio and mic-det-gpio ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection changes in v2: - Add more comments in third commit - Add Acked-by Nicolin. .../bindings/sound/fsl-asoc-card.txt | 3 + include/sound/simple_card_utils.h | 6 +- sound/soc/fsl/Kconfig | 1 + sound/soc/fsl/fsl-asoc-card.c | 77 ++++++++++++++++++- sound/soc/generic/simple-card-utils.c | 7 +- 5 files changed, 86 insertions(+), 8 deletions(-) -- 2.27.0
2020-07-16Merge series "ASoC: merge .digital_mute() into .mute_stream()" from Kuninori ↵Mark Brown103-239/+384
Morimoto <[email protected]>: Hi Mark These are v3 patch-set. ALSA SoC has 2 mute callbacks (= .digital_mute(), .mute_stream()). But the difference between these 2 are very small. .digital_mute() is for Playback .mute_stream() is for Playback/Capture This patch-set adds new .no_capture_mute flag and emulate .digital_mute() by .mute_stream(). v2 -> v3 - uses "xxx_mute_stream" for .mute_stream naming if it was better - removed verbose Cc email address v1 -> v2 - return -ENOTSUPP at hdmi-codec - add new .no_capture_mute flag and emulate .digital_mute() by .mute_stream() Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Kuninori Morimoto (21): ASoC: hdmi-codec: return -ENOTSUPP for digital_mute ASoC: soc-dai.c: add .no_capture_mute support ASoC: hdmi-codec: merge .digital_mute() into .mute_stream() ASoC: ti: merge .digital_mute() into .mute_stream() ASoC: spear: merge .digital_mute() into .mute_stream() ASoC: meson: merge .digital_mute() into .mute_stream() ASoC: atmel: merge .digital_mute() into .mute_stream() ASoC: codecs: merge .digital_mute() into .mute_stream() ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream() ASoC: codecs: tas*: merge .digital_mute() into .mute_stream() ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream() ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream() ASoC: codecs: max*: merge .digital_mute() into .mute_stream() ASoC: codecs: alc*: merge .digital_mute() into .mute_stream() ASoC: codecs: wm*: merge .digital_mute() into .mute_stream() ASoC: codecs: es*: merge .digital_mute() into .mute_stream() ASoC: codecs: da*: merge .digital_mute() into .mute_stream() ASoC: codecs: cs*: merge .digital_mute() into .mute_stream() ASoC: codecs: ak*: merge .digital_mute() into .mute_stream() ASoC: soc-dai: remove .digital_mute ASoC: soc-core: snd_soc_dai_digital_mute() for both CPU/Codec drivers/gpu/drm/bridge/sii902x.c | 7 ++++--- drivers/gpu/drm/exynos/exynos_hdmi.c | 6 ++++-- drivers/gpu/drm/i2c/tda998x_drv.c | 7 ++++--- drivers/gpu/drm/mediatek/mtk_hdmi.c | 6 ++++-- drivers/gpu/drm/rockchip/cdn-dp-core.c | 7 ++++--- drivers/gpu/drm/sti/sti_hdmi.c | 6 ++++-- drivers/gpu/drm/zte/zx_hdmi.c | 7 ++++--- include/sound/hdmi-codec.h | 6 +++++- include/sound/soc-dai.h | 4 +++- sound/soc/atmel/atmel-classd.c | 7 ++++--- sound/soc/codecs/88pm860x-codec.c | 8 +++++--- sound/soc/codecs/ad193x.c | 5 +++-- sound/soc/codecs/adau1701.c | 5 +++-- sound/soc/codecs/ak4458.c | 5 +++-- sound/soc/codecs/ak4535.c | 6 ++++-- sound/soc/codecs/ak4641.c | 8 +++++--- sound/soc/codecs/alc5623.c | 5 +++-- sound/soc/codecs/alc5632.c | 5 +++-- sound/soc/codecs/cpcap.c | 11 +++++++---- sound/soc/codecs/cq93vc.c | 5 +++-- sound/soc/codecs/cs4265.c | 5 +++-- sound/soc/codecs/cs4270.c | 5 +++-- sound/soc/codecs/cs42l42.c | 5 +++-- sound/soc/codecs/cs42l51.c | 5 +++-- sound/soc/codecs/cs42l52.c | 5 +++-- sound/soc/codecs/cs42l56.c | 5 +++-- sound/soc/codecs/cs42xx8.c | 5 +++-- sound/soc/codecs/cs4341.c | 5 +++-- sound/soc/codecs/cs4349.c | 5 +++-- sound/soc/codecs/da7210.c | 5 +++-- sound/soc/codecs/da7213.c | 5 +++-- sound/soc/codecs/da9055.c | 5 +++-- sound/soc/codecs/es8316.c | 5 +++-- sound/soc/codecs/es8328.c | 5 +++-- sound/soc/codecs/hdmi-codec.c | 25 +++++++++++++++++-------- sound/soc/codecs/isabelle.c | 15 +++++++++------ sound/soc/codecs/jz4770.c | 5 +++-- sound/soc/codecs/lm49453.c | 25 +++++++++++++++---------- sound/soc/codecs/max98088.c | 12 ++++++++---- sound/soc/codecs/max98090.c | 6 ++++-- sound/soc/codecs/max9867.c | 5 +++-- sound/soc/codecs/ml26124.c | 5 +++-- sound/soc/codecs/nau8822.c | 5 +++-- sound/soc/codecs/pcm1681.c | 5 +++-- sound/soc/codecs/pcm1789.c | 5 +++-- sound/soc/codecs/pcm179x.c | 5 +++-- sound/soc/codecs/pcm3168a.c | 5 +++-- sound/soc/codecs/pcm512x.c | 5 +++-- sound/soc/codecs/rk3328_codec.c | 5 +++-- sound/soc/codecs/sgtl5000.c | 5 +++-- sound/soc/codecs/ssm2518.c | 5 +++-- sound/soc/codecs/ssm2602.c | 5 +++-- sound/soc/codecs/ssm4567.c | 5 +++-- sound/soc/codecs/sta529.c | 5 +++-- sound/soc/codecs/tas2552.c | 5 +++-- sound/soc/codecs/tas2562.c | 5 +++-- sound/soc/codecs/tas2770.c | 5 +++-- sound/soc/codecs/tas571x.c | 5 +++-- sound/soc/codecs/tas5720.c | 5 +++-- sound/soc/codecs/tas6424.c | 5 +++-- sound/soc/codecs/tfa9879.c | 5 +++-- sound/soc/codecs/tlv320aic23.c | 5 +++-- sound/soc/codecs/tlv320aic26.c | 5 +++-- sound/soc/codecs/tlv320aic31xx.c | 6 ++++-- sound/soc/codecs/tlv320aic32x4.c | 5 +++-- sound/soc/codecs/tlv320aic3x.c | 5 +++-- sound/soc/codecs/twl6040.c | 5 +++-- sound/soc/codecs/uda134x.c | 5 +++-- sound/soc/codecs/wm8350.c | 5 +++-- sound/soc/codecs/wm8400.c | 5 +++-- sound/soc/codecs/wm8510.c | 5 +++-- sound/soc/codecs/wm8580.c | 5 +++-- sound/soc/codecs/wm8711.c | 5 +++-- sound/soc/codecs/wm8728.c | 5 +++-- sound/soc/codecs/wm8731.c | 5 +++-- sound/soc/codecs/wm8741.c | 5 +++-- sound/soc/codecs/wm8750.c | 5 +++-- sound/soc/codecs/wm8753.c | 8 +++++--- sound/soc/codecs/wm8770.c | 5 +++-- sound/soc/codecs/wm8776.c | 5 +++-- sound/soc/codecs/wm8900.c | 5 +++-- sound/soc/codecs/wm8903.c | 5 +++-- sound/soc/codecs/wm8904.c | 5 +++-- sound/soc/codecs/wm8940.c | 5 +++-- sound/soc/codecs/wm8955.c | 5 +++-- sound/soc/codecs/wm8960.c | 5 +++-- sound/soc/codecs/wm8961.c | 5 +++-- sound/soc/codecs/wm8962.c | 5 +++-- sound/soc/codecs/wm8971.c | 5 +++-- sound/soc/codecs/wm8974.c | 5 +++-- sound/soc/codecs/wm8978.c | 5 +++-- sound/soc/codecs/wm8983.c | 7 ++++--- sound/soc/codecs/wm8985.c | 7 ++++--- sound/soc/codecs/wm8988.c | 5 +++-- sound/soc/codecs/wm8990.c | 5 +++-- sound/soc/codecs/wm8991.c | 7 ++++--- sound/soc/codecs/wm8993.c | 5 +++-- sound/soc/codecs/wm8994.c | 9 ++++++--- sound/soc/codecs/wm8995.c | 8 +++++--- sound/soc/codecs/wm9081.c | 5 +++-- sound/soc/meson/axg-spdifout.c | 5 +++-- sound/soc/soc-core.c | 4 ++-- sound/soc/soc-dai.c | 12 +++++++----- sound/soc/spear/spdif_out.c | 8 +++++--- sound/soc/ti/ams-delta.c | 9 +++++---- 105 files changed, 390 insertions(+), 249 deletions(-) -- 2.25.1
2020-07-16ASoC: dt-bindings: renesas, fsi: use patternProperties for FSI-A/BKuninori Morimoto1-15/+4
FSI has FSI-A and FSI-B, and has fsia-xxx/fsib-xxx properties. This patch uses patternProperties, and reduce verbose settings. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: dt-bindings: ak4613: switch to yaml base DocumentationKuninori Morimoto2-27/+65
This patch switches from .txt base to .yaml base Document. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: dt-bindings: ak4642: switch to yaml base DocumentationKuninori Morimoto2-37/+58
This patch switches from .txt base to .yaml base Document. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: soc-component: Add missed return for calling soc_component_retShengjiu Wang1-3/+3
Add missed return for calling soc_component_ret, otherwise the return value is wrong. Fixes: e2329eeba45f ("ASoC: soc-component: add soc_component_err()") Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists'Lee Jones1-1/+1
Signed-off-by: Lee Jones <[email protected]> Cc: Timur Tabi <[email protected]> Cc: Nicolin Chen <[email protected]> Cc: Xiubo Li <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: [email protected] Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detectionShengjiu Wang2-2/+76
Use asoc_simple_init_jack function from simple card to implement the Headphone and Microphone detection. Register notifier to disable Speaker when Headphone is plugged in and enable Speaker when Headphone is unplugged. Register notifier to disable Digital Microphone when Analog Microphone is plugged in and enable DMIC when Analog Microphone is unplugged. Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Nicolin Chen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: bindings: fsl-asoc-card: Support hp-det-gpio and mic-det-gpioShengjiu Wang1-0/+3
Add headphone and microphone detection GPIO support. These properties are optional. Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Nicolin Chen <[email protected]> Acked-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jackShengjiu Wang2-6/+7
Currently the pin_name is fixed in asoc_simple_init_jack, but some driver may use a different pin_name. So add a new parameter in asoc_simple_init_jack for configuring pin_name. If this parameter is NULL, then the default pin_name is used. Signed-off-by: Shengjiu Wang <[email protected]> Acked-by: Nicolin Chen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: ak*: merge .digital_mute() into .mute_stream()Kuninori Morimoto3-7/+12
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: cs*: merge .digital_mute() into .mute_stream()Kuninori Morimoto9-18/+27
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: da*: merge .digital_mute() into .mute_stream()Kuninori Morimoto3-6/+9
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Reviewed-by: Adam Thomson <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: es*: merge .digital_mute() into .mute_stream()Kuninori Morimoto2-4/+6
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: wm*: merge .digital_mute() into .mute_stream()Kuninori Morimoto32-70/+106
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Acked-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: alc*: merge .digital_mute() into .mute_stream()Kuninori Morimoto2-4/+6
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: max*: merge .digital_mute() into .mute_stream()Kuninori Morimoto3-8/+15
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream()Kuninori Morimoto5-10/+15
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream()Kuninori Morimoto3-6/+9
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: tas*: merge .digital_mute() into .mute_stream()Kuninori Morimoto6-12/+18
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream()Kuninori Morimoto5-10/+16
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: codecs: merge .digital_mute() into .mute_stream()Kuninori Morimoto16-47/+72
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: meson: merge .digital_mute() into .mute_stream()Kuninori Morimoto1-2/+3
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: spear: merge .digital_mute() into .mute_stream()Kuninori Morimoto1-3/+5
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: ti: merge .digital_mute() into .mute_stream()Kuninori Morimoto1-4/+5
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: hdmi-codec: merge .digital_mute() into .mute_stream()Kuninori Morimoto9-25/+48
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling direction. We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } For hdmi-codec, we need to update struct hdmi_codec_ops, and all its users in the same time. Signed-off-by: Kuninori Morimoto <[email protected]> Reviewed-by: Peter Ujfalusi <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: soc-dai.c: add .no_capture_mute supportKuninori Morimoto2-1/+10
snd_soc_dai_digital_mute() is internally using both mute_stream() (1) or digital_mute() (2), but the difference between these 2 are only handling "direction". We can merge digital_mute() into mute_stream int snd_soc_dai_digital_mute(xxx, int direction) { ... else if (dai->driver->ops->mute_stream) (1) return dai->driver->ops->mute_stream(xxx, direction); else if (direction == SNDRV_PCM_STREAM_PLAYBACK && dai->driver->ops->digital_mute) (2) return dai->driver->ops->digital_mute(xxx); ... } To prepare merging mute_stream()/digital_mute(), this patch adds .no_capture_mute support to emulate .digital_mute(). Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: hdmi-codec: return -ENOTSUPP for digital_muteKuninori Morimoto1-1/+1
snd_soc_dai_digital_mute() will return -ENOTSUPP if driver doesn't support mute. In hdmi-codec case, hdmi_codec_digital_mute() will be used for it, and each driver has .digital_mute() callback. hdmi_codec_digital_mute() want to return -ENOTSUPP to follow it. Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ALSA: hda: fix snd_hda_codec_cleanup() documentationKai Vehmanen1-1/+1
Fix a copy and paste error in snd_hda_codec_cleanup() documentation. Signed-off-by: Kai Vehmanen <[email protected]> Reviewed-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Ranjani Sridharan <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ALSA: hda: export snd_hda_codec_cleanup_for_unbind()Kai Vehmanen2-0/+3
To avoid duplicated code for cleanup, and match the already exported snd_hda_codec_pcm_new(), also export snd_hda_codec_cleanup_for_unbind(). Signed-off-by: Kai Vehmanen <[email protected]> Reviewed-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Ranjani Sridharan <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: rt5682: Report the button event in the headset type onlyOder Chiou1-1/+2
The irq work will be manipulated by resume function, and it will report the wrong jack type while the jack type is headphone in the button event. Signed-off-by: Oder Chiou <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-16ASoC: Intel: bytcht_es8316: Add missed put_device()Jing Xiangfeng1-1/+3
snd_byt_cht_es8316_mc_probe() misses to call put_device() in an error path. Add the missed function call to fix it. Fixes: ba49cf6f8e4a ("ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect") Signed-off-by: Jing Xiangfeng <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14Merge series "ASoC: sh: remove discriminatory terms" from Kuninori Morimoto ↵Mark Brown7-26/+26
<[email protected]>: Renesas SH drivers are using discriminatory terms. This patch-set removes or changes it as much as possible. But, because DMA related API function name, it still exists. I hope all these are removed someday. v1 -> v2 - use "secondary" instead of "follower" - care siu/ssi drivers - tidyup git-log Link: https://lore.kernel.org/r/[email protected] Kuninori Morimoto (5): ASoC: rsnd: don't use discriminatory terms for function names ASoC: rsnd: don't use discriminatory terms for comment ASoC: fsi: don't use discriminatory terms for comment ASoC: siu: don't use discriminatory terms for parameter ASoC: ssi: don't use discriminatory terms for debug log sound/soc/sh/fsi.c | 4 ++-- sound/soc/sh/rcar/core.c | 4 ++-- sound/soc/sh/rcar/rsnd.h | 2 +- sound/soc/sh/rcar/ssi.c | 28 ++++++++++++++-------------- sound/soc/sh/rcar/ssiu.c | 6 +++--- sound/soc/sh/siu_pcm.c | 6 +++--- sound/soc/sh/ssi.c | 2 +- 7 files changed, 26 insertions(+), 26 deletions(-) -- 2.25.1
2020-07-14ASoC: Convert UniPhier AIO audio system to json-schemaMasahiro Yamada2-45/+81
Convert the UniPhier AIO audio system binding to DT schema format. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: Convert UniPhier EVEA codec to json-schemaMasahiro Yamada2-26/+70
Convert the UniPhier EVEA sound codec binding to DT schema format. Signed-off-by: Masahiro Yamada <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: convert rk3328 codec binding to yamlKatsuhiro Suzuki2-28/+69
This patch converts Rockchip rk3328 audio codec binding to DT schema. And adds description about "mclk" clock and fixes some errors in original example. Signed-off-by: Katsuhiro Suzuki <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: ssi: don't use discriminatory terms for debug logKuninori Morimoto1-1/+1
ssi is using discriminatory terms for debug log. This patch changes it to "secondary" Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: siu: don't use discriminatory terms for parameterKuninori Morimoto1-3/+3
siu is using discriminatory terms for function parameter. This patch changes it to "secondary" One note here is that it do nothing to DMA related naming for now, because it needs framework level modification. Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: fsi: don't use discriminatory terms for commentKuninori Morimoto1-2/+2
fsi is using discriminatory terms for comment. This patch removes it. Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: rsnd: don't use discriminatory terms for commentKuninori Morimoto1-2/+2
rsnd is using discriminatory terms for comment. This patch removes it. Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: rsnd: don't use discriminatory terms for function namesKuninori Morimoto3-18/+18
rsnd is using discriminatory terms for function names. This patch changes it to "secondary" One note here is that it do nothing to DMA related naming for now, because it needs framework level modification. Signed-off-by: Kuninori Morimoto <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-14ASoC: rt5682: Enable Vref2 under using PLL2derek.fang1-7/+17
Enable Vref2 under long term using PLL2 to avoid clock unstable. Signed-off-by: derek.fang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-13ASoC: rockchip: spdif: Handle clk by pm runtimeSugar Zhang1-42/+17
This patch handle the clk by pm runtime mechanism to simplify the clk management. Signed-off-by: Sugar Zhang <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-10Merge series "ASoC: mediatek: mt8183: support DP audio" from Tzung-Bi Shih ↵Mark Brown5-6/+60
<[email protected]>: This series is a follow up for a long time ago series (https://patchwork.kernel.org/cover/11204303/). The old series bound too much on the patches of DRM bridge and ASoC machine driver. And unluckily, the dependencies (https://lore.kernel.org/patchwork/patch/1126819/) have not applied. Revewing the ASoC patches in the old series, I found that they could be decoupled from the DRM bridge patches. And they are harmless as it is an optional attribute ("hdmi-codec") in DTS. This series arranges and rebases the harmless ASoC patches for mt8183-mt6358-ts3a227-max98357 and mt8183-da7219-max98357. The 1st and 4th patch add an optional DT property. The 1st patch was acked long time ago (https://patchwork.kernel.org/patch/11204321/). The 2nd and 5th patch add DAI link for using hdmi-codec. The 3rd and 6th patch support the HDMI jack reporting. Tzung-Bi Shih (6): ASoC: dt-bindings: mt8183: add a property "mediatek,hdmi-codec" ASoC: mediatek: mt8183: use hdmi-codec ASoC: mediatek: mt8183: support HDMI jack reporting ASoC: dt-bindings: mt8183-da7219: add a property "mediatek,hdmi-codec" ASoC: mediatek: mt8183-da7219: use hdmi-codec ASoC: mediatek: mt8183-da7219: support HDMI jack reporting .../bindings/sound/mt8183-da7219-max98357.txt | 4 +++ .../sound/mt8183-mt6358-ts3a227-max98357.txt | 2 ++ sound/soc/mediatek/Kconfig | 2 ++ .../mediatek/mt8183/mt8183-da7219-max98357.c | 29 +++++++++++++++++-- .../mt8183/mt8183-mt6358-ts3a227-max98357.c | 29 +++++++++++++++++-- 5 files changed, 60 insertions(+), 6 deletions(-) -- 2.27.0.383.g050319c2ae-goog
2020-07-10Merge series "ASoC: Clean-up W=1 build warnings​ - part2" from ↵Mark Brown10-52/+27
Pierre-Louis Bossart <[email protected]>: Both Lee Jones and I submitted separate series, this is the second part of the merged result, for which no feedback was provided. I picked Lee's patches for rt5659 and ak4458 and added the pxa and ux500 that I didn't fix. The rest is largely identical between our respective series, with the exception of the sunxi which I documented and Lee removed. I don't have any specific preference and will go with the flow on this. Changes since v3: Improved commit subjects from 'fix kernel-doc' as suggested by Lee Jones. In a couple of cases I just reverted to Lee's patches when the code was identical. Added a couple of CC: tags from Lee's patches. Added Arnaud Pouliquen's Acked-by tag in first patch. Lee Jones (6): ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc ASoC: pxa: pxa-ssp: Demote seemingly unintentional kerneldoc header ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR' ASoC: codecs: rt5659: Remove many unused const variables ASoC: codecs: tlv320aic26: Demote seemingly unintentional kerneldoc header ASoC: codecs: ak4458: Remove set but never checked variable 'ret' Pierre-Louis Bossart (4): ASoC: sti: uniperif: fix 'defined by not used' warning ASoC: qcom: qdsp6: q6asm: Provide documentation for 'codec_profile' ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments sound/soc/codecs/ak4458.c | 6 +++--- sound/soc/codecs/rt5631.c | 8 +++++-- sound/soc/codecs/rt5659.c | 37 --------------------------------- sound/soc/codecs/tlv320aic26.c | 2 +- sound/soc/pxa/pxa-ssp.c | 2 +- sound/soc/qcom/qdsp6/q6asm.c | 2 +- sound/soc/sti/uniperif.h | 2 +- sound/soc/sunxi/sun4i-i2s.c | 10 ++++++++- sound/soc/sunxi/sun4i-spdif.c | 2 +- sound/soc/ux500/ux500_msp_i2s.c | 8 +++---- 10 files changed, 27 insertions(+), 52 deletions(-) base-commit: 6940701c715e193282cf8b31f970b2ea6eb26341 -- 2.25.1
2020-07-10Merge series "ASoC: fsl_spdif: Clear the validity bit for TX" from Shengjiu ↵Mark Brown1-4/+47
Wang <[email protected]>: Clear the validity bit for TX Add kctl for configuring TX validity bit Shengjiu Wang (2): ASoC: fsl_spdif: Clear the validity bit for TX ASoC: fsl_spdif: Add kctl for configuring TX validity bit sound/soc/fsl/fsl_spdif.c | 51 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 4 deletions(-) -- 2.21.0
2020-07-10ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup()Hans de Goede1-7/+11
As Pierre-Louis Bossart pointed out, saying that the default mode for the SSP is TDM 4 slot is not entirely accurate. There really are 2 default modes: The default mode for the SSP configuration is TDM 4 slot for the cpu-dai (hard-coded in DSP firmware), The default mode for the SSP configuration is I2S for the codec-dai (hard-coded in the 'SSP2-Codec" .dai_fmt masks, so far unused). This commit updates the comment in cht_codec_fixup() to properly reflect this. Suggested-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
2020-07-10ASoC: mediatek: mt8183-da7219: support HDMI jack reportingTzung-Bi Shih2-1/+19
Supports HDMI jack reporting. Signed-off-by: Tzung-Bi Shih <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>