Randy Dunlap [Sun, 19 Jul 2020 18:09:12 +0000 (11:09 -0700)]
ASoC: tegra20_das.h: delete duplicated words
Delete the doubled word "to" in two comments.
Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Cc: Stephen Warren <swarren@nvidia.com> Cc: Mark Brown <broonie@kernel.org> Cc: alsa-devel@alsa-project.org Link: https://lore.kernel.org/r/20200719180912.30770-1-rdunlap@infradead.org Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: Intel: Skylake: Avoid the use of one-element array
One-element arrays are being deprecated[1]. Replace the one-element
array with a simple value type 'u8 reserved'[2], once it seems this
is just a placeholder for alignment.
Shuming Fan [Fri, 17 Jul 2020 07:02:28 +0000 (15:02 +0800)]
ASoC: rt5682: optimize the power consumption
Some settings should set to default value after the calibration.
This patch also disables the 25MHz and 1MHz clock power when the jack unplugged.
The JD is triggered by JDH, therefore this patch removes JDL setting.
Tang Bin [Tue, 14 Jul 2020 11:27:44 +0000 (19:27 +0800)]
ASoC: qcom: qdsp6: Use IS_ERR() instead of IS_ERR_OR_NULL()
In the function q6adm_open(), q6adm_alloc_copp() doesn't return
NULL. Thus use IS_ERR() to validate the returned value instead
of IS_ERR_OR_NULL(). And delete the extra line.
Shuming Fan [Fri, 17 Jul 2020 07:02:56 +0000 (15:02 +0800)]
ASoC: rt5682: disable MICBIAS and Vref2 widget in default
The pin status of the widget was connected after the sound card registered.
The rt5682_headset_detect function will use the pin status of these two widgets
to decide the certain register setting on/off.
Therefore this patch disables the pin of these two widgets in the codec probe.
This patch could avoid the misjudgment.
ASoC: atmel: merge .digital_mute() into .mute_stream()
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 <kuninori.morimoto.gx@renesas.com> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/87eepb2dnq.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Thu, 16 Jul 2020 22:51:54 +0000 (23:51 +0100)]
Merge series "ALSA: hda: export snd_hda_codec_cleanup()" from Kai Vehmanen <kai.vehmanen@linux.intel.com>:
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.
Mark Brown [Thu, 16 Jul 2020 22:51:52 +0000 (23:51 +0100)]
Merge series "ASoC: fsl-asoc-card: Support hp and mic detection" from Shengjiu Wang <shengjiu.wang@nxp.com>:
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.
Mark Brown [Thu, 16 Jul 2020 22:51:51 +0000 (23:51 +0100)]
Merge series "ASoC: merge .digital_mute() into .mute_stream()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
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/874kqy2y5t.wl-kuninori.morimoto.gx@renesas.com Link: https://lore.kernel.org/r/87ftam37ko.wl-kuninori.morimoto.gx@renesas.com
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
Lee Jones [Wed, 15 Jul 2020 15:00:09 +0000 (16:00 +0100)]
ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Cc: Timur Tabi <timur@kernel.org> Cc: Nicolin Chen <nicoleotsuka@gmail.com> Cc: Xiubo Li <Xiubo.Lee@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: linuxppc-dev@lists.ozlabs.org Link: https://lore.kernel.org/r/20200715150009.407442-1-lee.jones@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
Shengjiu Wang [Wed, 15 Jul 2020 14:09:39 +0000 (22:09 +0800)]
ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection
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.
Shengjiu Wang [Wed, 15 Jul 2020 14:09:37 +0000 (22:09 +0800)]
ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack
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.
ASoC: codecs: ak*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: cs*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: da*: merge .digital_mute() into .mute_stream()
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 <kuninori.morimoto.gx@renesas.com> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Link: https://lore.kernel.org/r/87sge1wiwi.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: codecs: es*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: wm*: merge .digital_mute() into .mute_stream()
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 <kuninori.morimoto.gx@renesas.com> Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/87v9ixwiwr.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: codecs: alc*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: max*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: tas*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: codecs: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: meson: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: spear: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: ti: merge .digital_mute() into .mute_stream()
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);
...
}
ASoC: hdmi-codec: merge .digital_mute() into .mute_stream()
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.
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().
ASoC: hdmi-codec: return -ENOTSUPP for digital_mute
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.
Mark Brown [Tue, 14 Jul 2020 15:55:17 +0000 (16:55 +0100)]
Merge series "ASoC: sh: remove discriminatory terms" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
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/87r1tg3swv.wl-kuninori.morimoto.gx@renesas.com
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
This patch converts Rockchip rk3328 audio codec binding to DT schema.
And adds description about "mclk" clock and fixes some errors in
original example.
Mark Brown [Fri, 10 Jul 2020 15:06:46 +0000 (16:06 +0100)]
Merge series "ASoC: mediatek: mt8183: support DP audio" from Tzung-Bi Shih <tzungbi@google.com>:
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
Mark Brown [Fri, 10 Jul 2020 15:06:45 +0000 (16:06 +0100)]
Merge series "ASoC: Clean-up W=1 build warnings - part2" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
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
Hans de Goede [Fri, 3 Jul 2020 10:38:40 +0000 (12:38 +0200)]
ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup()
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.
Shengjiu Wang [Tue, 7 Jul 2020 08:54:25 +0000 (16:54 +0800)]
ASoC: fsl_spdif: Clear the validity bit for TX
In IEC958 spec, "The validity bit is logical "0" if the
information in the main data field is reliable, and it
is logical "1" if it is not".
The default value of "ValCtrl" is zero, which means
"Outgoing Validity always set", then all the data is not
reliable, then some spdif sink device will drop the data.
So set "ValCtrl" to 1, that is to clear "Outgoing Validity"
in default.
Lee Jones [Thu, 9 Jul 2020 16:23:27 +0000 (11:23 -0500)]
ASoC: codecs: ak4458: Remove set but never checked variable 'ret'
Looks as though the result of snd_soc_update_bits() has never been checked.
Fixes the following W=1 kernel build warning(s):
sound/soc/codecs/ak4458.c: In function ‘ak4458_set_dai_mute’:
sound/soc/codecs/ak4458.c:408:16: warning: variable ‘ret’ set but not
used [-Wunused-but-set-variable]
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Junichi Wakasugi <wakasugi.jb@om.asahi-kasei.co.jp> Cc: Mihai Serban <mihai.serban@nxp.com> Link: https://lore.kernel.org/r/20200709162328.259586-11-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This is the only use of kerneldoc in the sourcefile and no
descriptions are provided.
Fixes the following W=1 kernel build warning(s):
sound/soc/codecs/tlv320aic26.c:138: warning: Function parameter or
member 'dai' not described in 'aic26_mute'
sound/soc/codecs/tlv320aic26.c:138: warning: Function parameter or
member 'mute' not described in 'aic26_mute'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Cc: Grant Likely <grant.likely@secretlab.ca> Link: https://lore.kernel.org/r/20200709162328.259586-10-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments
Fixes the following W=1 kernel build warning(s):
sound/soc/codecs/rt5631.c:72: warning: Function parameter or member
'component' not described in 'rt5631_write_index'
sound/soc/codecs/rt5631.c:72: warning: Function parameter or member
'reg' not described in 'rt5631_write_index'
sound/soc/codecs/rt5631.c:72: warning: Function parameter or member
'value' not described in 'rt5631_write_index'
sound/soc/codecs/rt5631.c:82: warning: Function parameter or member
'component' not described in 'rt5631_read_index'
sound/soc/codecs/rt5631.c:82: warning: Function parameter or member
'reg' not described in 'rt5631_read_index'
sound/soc/codecs/rt5631.c:367: warning: Function parameter or member
'component' not described in 'onebit_depop_power_stage'
sound/soc/codecs/rt5631.c:405: warning: Function parameter or member
'component' not described in 'onebit_depop_mute_stage'
sound/soc/codecs/rt5631.c:443: warning: Function parameter or member
'component' not described in 'depop_seq_power_stage'
sound/soc/codecs/rt5631.c:515: warning: Function parameter or member
'component' not described in 'depop_seq_mute_stage'
Lee Jones [Thu, 9 Jul 2020 16:23:23 +0000 (11:23 -0500)]
ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR'
Looks like these have been unchecked since the driver's inception in 2012.
Fixes the following W=1 kernel build warning(s):
sound/soc/ux500/ux500_msp_i2s.c: In function ‘flush_fifo_rx’:
sound/soc/ux500/ux500_msp_i2s.c:398:6: warning: variable ‘reg_val_DR’
set but not used [-Wunused-but-set-variable]
sound/soc/ux500/ux500_msp_i2s.c: In function ‘flush_fifo_tx’:
sound/soc/ux500/ux500_msp_i2s.c:415:6: warning: variable
‘reg_val_TSTDR’ set but not used [-Wunused-but-set-variable]
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: zhong jiang <zhongjiang@huawei.com> Cc: Ola Lilja <ola.o.lilja@stericsson.com> Cc: Roger Nilsson <roger.xr.nilsson@stericsson.com> Cc: Sandeep Kaushik <sandeep.kaushik@st.com> Link: https://lore.kernel.org/r/20200709162328.259586-7-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This is the only use of kerneldoc in the sourcefile and full
descriptions are not provided.
Fixes the following W=1 kernel build warning(s):
sound/soc/pxa/pxa-ssp.c:186: warning: Function parameter or member
'ssp' not described in 'pxa_ssp_set_scr'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Daniel Mack <daniel@zonque.org> Cc: Haojian Zhuang <haojian.zhuang@gmail.com> Cc: Robert Jarzmik <robert.jarzmik@free.fr> Link: https://lore.kernel.org/r/20200709162328.259586-6-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Lee Jones [Thu, 9 Jul 2020 16:23:21 +0000 (11:23 -0500)]
ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc
Property name descriptions need to match exactly.
Fixes the following W=1 kernel build warning(s):
sound/soc/sunxi/sun4i-spdif.c:178: warning: Function parameter or
member 'reg_dac_txdata' not described in 'sun4i_spdif_quirks'
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Andrea Venturi <be17068@iperbole.bo.it> Cc: Marcus Cooper <codekipper@gmail.com> Link: https://lore.kernel.org/r/20200709162328.259586-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc
Fix W=1 warnings - missing fields in description
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or
member 'bclk_dividers' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'num_bclk_dividers' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'mclk_dividers' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'num_mclk_dividers' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'get_bclk_parent_rate' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'get_sr' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'get_wss' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'set_chan_cfg' not described in 'sun4i_i2s_quirks'
sound/soc/sunxi/sun4i-i2s.c:160: warning: Function parameter or member
'set_fmt' not described in 'sun4i_i2s_quirks'
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Andrea Venturi <be17068@iperbole.bo.it> Link: https://lore.kernel.org/r/20200709162328.259586-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: sti: uniperif: fix 'defined by not used' warning
Fix W=1 warning. The table uni_tdm_hw is declared in a header included
by multiple C file. This isn't really a good practice but for now
using __maybe_unused makes the following warning go away.
sound/soc/sti/sti_uniperif.c:12:
sound/soc/sti/uniperif.h:1351:38: warning: ‘uni_tdm_hw’ defined but
not used [-Wunused-const-variable=]
1351 | static const struct snd_pcm_hardware uni_tdm_hw = {
| ^~~~~~~~~~
Mark Brown [Thu, 9 Jul 2020 21:20:34 +0000 (22:20 +0100)]
Merge series "ASoC: codecs: add MAX98373 Soundwire driver" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
V3:
Rebased on top of two fixes already merged from the v2 patchset - no
code changes
Added explicit commit reference in last commit message
V2 with a number of cleanups:
split between I2C and SoundWire modes, as done for rt5682, and updated
Kconfigs.
removed useless initializations common to both modes
removed idle_bias on
fixed register classified as volatile in error
fixed SPDX comments
Pierre-Louis Bossart (2):
ASoC: codecs: max98373: split I2C and common parts
ASoC: Intel: sof-sdw: add MAX98373 I2C dependencies
Ryan Lee (1):
ASoC: codecs: max98373: add SoundWire support
randerwang (1):
ASoC: Intel: sdw_max98373: add card_late_probe support
Mark Brown [Thu, 9 Jul 2020 21:20:32 +0000 (22:20 +0100)]
Merge series "ASoC: Clean-up W=1 build warnings - part1" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
Both Lee Jones and I submitted separate series, this is the first part
of the merged result, which includes all previously reviewed patches
or suggested changes along with trivial ones for CONFIG_ACPI.
Lee Jones (2):
ASoC: codecs: jz4770: Remove defined but never used variable
'mic_boost_tlv'
ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w'
Pierre-Louis Bossart (11):
ASoC: atmel: fix kernel-doc
ASoC: samsung: spdif: fix kernel-doc
ASoC: samsung: pcm: fix kernel-doc
ASoC: tegra: tegra20_das: remove always-true comparison
ASoC: uniphier: aio-core: fix kernel-doc
ASoC: codecs: da7210: fix kernel-doc
ASoC: codecs: da7219: fix 'defined but not used' warning
ASoC: codecs: cros_ec_codec: fix 'defined but not used' warning
ASoC: codecs: es8316: fix 'defined but not used' warning
ASoC: codecs: max98390: fix 'defined but not used' warning
ASoC: codecs: rt*: fix 'defined but not used' warning
The CPU and the codec both are represented now as components, so for
PDMIC we are registering two componenets with the same name. Since
there is no actual codec, we will merge the codec component into the
CPU one and use a dummy codec instead, for the DAI link.
As a bonus, debugfs will no longer report an error when will try to
create entries for both componenets with the same name.
The CPU and the codec both are represented now as components, so for
CLASS-D we are registering two componenets with the same name. Since
there is no actual codec, we will merge the codec component into the
CPU one and use a dummy codec instead, for the DAI link.
As a bonus, debugfs will no longer report an error when will try to
create entries for both componenets with the same name.
ASoC: codecs: es8316: fix 'defined but not used' warning
Fix W=1 warning
sound/soc/codecs/es8316.c:842:36: warning: 'es8316_acpi_match' defined
but not used [-Wunused-const-variable=]
842 | static const struct acpi_device_id es8316_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~
ASoC: codecs: cros_ec_codec: fix 'defined but not used' warning
fix W=1 warning
sound/soc/codecs/cros_ec_codec.c:1056:36: warning:
'cros_ec_codec_acpi_id' defined but not used
[-Wunused-const-variable=]
1056 | static const struct acpi_device_id cros_ec_codec_acpi_id[] = {
| ^~~~~~~~~~~~~~~~~~~~~
Lee Jones [Tue, 7 Jul 2020 19:06:08 +0000 (14:06 -0500)]
ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w'
Looks like 'w' has remained unchecked since the driver's inception.
Fixes the following W=1 kernel build warning(s):
sound/soc/ti/omap-mcbsp-st.c: In function ‘omap_mcbsp_st_chgain’:
sound/soc/ti/omap-mcbsp-st.c:145:6: warning: variable ‘w’ set but not used [-Wunused-but-set-variable]
Peter suggested that the whole read can be removed, so that's
been done too.
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Peter Ujfalusi <peter.ujfalusi@ti.com> Cc: Jarkko Nikula <jarkko.nikula@bitmer.com> Cc: Samuel Ortiz <samuel.ortiz@nokia.com> Cc: linux-omap@vger.kernel.org Link: https://lore.kernel.org/r/20200707190612.97799-10-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Lee Jones [Tue, 7 Jul 2020 19:06:07 +0000 (14:06 -0500)]
ASoC: codecs: jz4770: Remove defined but never used variable 'mic_boost_tlv'
Fixes the following W=1 kernel build warning(s):
In file included from include/sound/tlv.h:10,
from sound/soc/codecs/jz4770.c:19:
sound/soc/codecs/jz4770.c:306:35: warning: ‘mic_boost_tlv’ defined but not used [-Wunused-const-variable=]
306 | static const DECLARE_TLV_DB_SCALE(mic_boost_tlv, 0, 400, 0);
| ^~~~~~~~~~~~~
include/uapi/sound/tlv.h:64:15: note: in definition of macro ‘SNDRV_CTL_TLVD_DECLARE_DB_SCALE’
64 | unsigned int name[] = { | ^~~~
sound/soc/codecs/jz4770.c:306:14: note: in expansion of macro ‘DECLARE_TLV_DB_SCALE’
306 | static const DECLARE_TLV_DB_SCALE(mic_boost_tlv, 0, 400, 0);
| ^~~~~~~~~~~~~~~~~~~~
Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cc: ter Huurne <maarten@treewalker.org> Link: https://lore.kernel.org/r/20200707190612.97799-9-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
ASoC: codecs: da7219: fix 'defined but not used' warning
fix W=1 warning
sound/soc/codecs/da7219.c:1711:36: warning: 'da7219_acpi_match'
defined but not used [-Wunused-const-variable=]
1711 | static const struct acpi_device_id da7219_acpi_match[] = {
| ^~~~~~~~~~~~~~~~~
Ryan Lee [Wed, 8 Jul 2020 20:32:13 +0000 (15:32 -0500)]
ASoC: codecs: max98373: add SoundWire support
Add SoundWire specific parts and extend common ones already split from
I2C.
Signed-off-by: Ryan Lee <ryans.lee@maximintegrated.com> Signed-off-by: Naveen Manohar <naveen.m@intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200708203215.231776-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>