linux-sg2042/sound/soc
Charles Keepax 3bbf5d34fd
ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked
Currently DAPM has a lot of similar code to handle errors from
snd_soc_dapm_new_control_unlocked, and much of this code does
not really accurately reflect what the function returns.

Firstly, most places will check for a return value of
-EPROBE_DEFER and silence any error messages in that case. The
one notable exception here being dapm_kcontrol_data_alloc
which does currently print any error messages in the case
of snd_soc_dapm_new_control_unlocked returning NULL or an
error. Additionally the error prints being silenced in these
case are redundant as snd_soc_dapm_new_control_unlocked can
only return -EPROBE_DEFER or NULL when failing.

Secondly, most places will treat a return value of NULL as
an -ENOMEM.  This is not correct either since any error except
EPROBE_DEFER will cause a return value of NULL from
snd_soc_dapm_new_control_unlocked.

Centralise this handling and the error messages within
snd_soc_dapm_new_control_unlocked and update the callers
to simply check IS_ERR and return. Note that this update is
slightly simpler in the case of dapm_kcontrol_data_alloc where
that is fairly close to the handling that was already in place.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2018-09-05 17:11:17 +01:00
..
adi
amd ASoC: AMD: Change MCLK to 48Mhz 2018-08-28 20:51:25 +01:00
atmel ASoC: Add driver for PROTO Audio CODEC (with a WM8731) 2018-09-03 14:41:26 +01:00
au1x treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
bcm ASoC: Remove depends on HAS_DMA in case of platform dependency 2018-04-18 11:17:09 +01:00
cirrus ASoC: cirrus: i2s: IRQ-based stream watchdog 2018-05-11 11:27:33 +09:00
codecs ASoC: tlv320aic31xx: Add overflow detection support 2018-09-04 16:50:51 +01:00
davinci ASoC: davinci-mcasp: Add support for FIFO usage caused delay reporting 2018-08-31 11:31:03 +01:00
dwc Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es7134', 'asoc/topic/es8316', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next 2018-03-28 10:29:36 +08:00
fsl ASoC: Convert to using %pOFn instead of device_node.name 2018-08-28 19:07:00 +01:00
generic ASoC: simple-card-util: remove dai_link compatible code for platform 2018-08-31 15:59:02 +01:00
hisilicon ASoC: hisilicon: fix spelling mistake: "uknown" -> "unknown" 2018-05-13 10:08:11 +09:00
img treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
intel ASoC: add for_each_rtd_codec_dai() macro 2018-09-04 16:59:11 +01:00
jz4740
kirkwood ASoC: Remove depends on HAS_DMA in case of platform dependency 2018-04-18 11:17:09 +01:00
mediatek ASoC: add for_each_rtd_codec_dai() macro 2018-09-04 16:59:11 +01:00
meson ASoC: add for_each_rtd_codec_dai() macro 2018-09-04 16:59:11 +01:00
mxs Merge remote-tracking branches 'asoc/topic/mtk', 'asoc/topic/mxs', 'asoc/topic/mxs-sgtl5000', 'asoc/topic/nau8540' and 'asoc/topic/nau8824' into asoc-next 2018-01-26 15:27:22 +00:00
nuc900 ASoC: nuc900-pcm: replace platform to component 2018-02-12 11:45:37 +00:00
omap ASoC: omap-dmic: Mark expected switch fall-throughs 2018-08-03 17:59:25 +01:00
pxa ASoC: pxa: remove clock divider and pll setup from zylonite and magician 2018-07-20 17:41:26 +01:00
qcom ASoC: q6routing: initialize data correctly 2018-09-03 12:17:32 +01:00
rockchip ASoC: rockchip: add config for rockchip dmaengine pcm register 2018-06-18 12:54:38 +01:00
samsung ASoC: samsung: i2s: Mark expected switch fall-through 2018-08-03 17:59:29 +01:00
sh ASoC: rsnd: merge .nolock_start and .prepare 2018-09-03 14:37:43 +01:00
sirf ASoC: sirf: Fix potential NULL pointer dereference 2018-07-30 12:02:30 +01:00
spear License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sti ASoC: sti: Use snd_pcm_stop_xrun() helper 2018-07-04 15:41:35 +01:00
stm ASoC: Convert to using %pOFn instead of device_node.name 2018-08-28 19:07:00 +01:00
sunxi Merge remote-tracking branches 'asoc/topic/sta529', 'asoc/topic/sti-sas', 'asoc/topic/stm32', 'asoc/topic/sun4i' and 'asoc/topic/sun8i' into asoc-next 2018-03-28 10:30:49 +08:00
tegra Merge branch 'asoc-4.18' into asoc-4.19 wmadsp dep 2018-08-08 17:32:10 +01:00
txx9 ASoC: txx9aclc: replace platform to component 2018-02-12 11:45:38 +00:00
uniphier ASoC: uniphier: change functions to static 2018-07-30 12:02:32 +01:00
ux500 ASoC: ux500: add MODULE_LICENSE tag 2018-01-10 16:42:10 +00:00
xtensa ASoC: xtfpga-i2s: replace platform to component 2018-02-12 11:45:32 +00:00
zte ASoC: zte: Fix incorrect PCM format bit usages 2018-07-26 15:48:19 +01:00
Kconfig ASoC: meson: add axg fifo base driver 2018-07-18 13:08:36 +01:00
Makefile ASoC: meson: add axg fifo base driver 2018-07-18 13:08:36 +01:00
soc-ac97.c ASoC: ac97: convert to SPDX identifiers 2018-07-02 10:56:09 +01:00
soc-acpi.c ASoC: soc-acpi: convert to SPDX identifiers 2018-07-02 10:55:27 +01:00
soc-compress.c ASoC: compress: make BE and FE order inline with dpcm 2018-08-07 14:42:29 +01:00
soc-core.c ASoC: add for_each_rtd_codec_dai() macro 2018-09-04 16:59:11 +01:00
soc-dapm.c ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked 2018-09-05 17:11:17 +01:00
soc-devres.c ASoC: soc-devres.c: convert to SPDX identifiers 2018-07-02 10:55:22 +01:00
soc-generic-dmaengine-pcm.c DMAengine updates for v4.19-rc1 2018-08-18 15:55:59 -07:00
soc-io.c ASoC: soc-io.c: convert to SPDX identifiers 2018-07-02 10:53:55 +01:00
soc-jack.c ASoC: soc-jack.c: convert to SPDX identifiers 2018-07-02 10:55:12 +01:00
soc-ops.c ASoC: soc-ops.c: convert to SPDX identifiers 2018-07-02 10:54:40 +01:00
soc-pcm.c ASoC: add for_each_rtd_codec_dai() macro 2018-09-04 16:59:11 +01:00
soc-topology.c ASoC: dapm: Move error handling to snd_soc_dapm_new_control_unlocked 2018-09-05 17:11:17 +01:00
soc-utils.c Merge branch 'asoc-4.18' into asoc-4.19 wmadsp dep 2018-08-08 17:32:10 +01:00