linux/sound/soc
Mark Brown c3d89fd7a8
Merge series "ASoC: add dailink .exit() callback" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
While looking at reboot issues and module load/unload tests, I found
out some resources allocated in the dailink .init() callback are not
properly released - there is no existing mechanism in the soc-core to
do so.

The addition of a dailink .exit() callback seems to be the simplest
solution overall. It can be argued that the existing machine platform
device .remove() callback can also perform the necessary cleanups,
however as shown in the last two examples this might require a loop to
identify components whereas the dailink .exit() already has all the
necessary information to revert the actions done in the .init() step.

Changes since RFC:
Better commit messages and explanations
rt5682 cases with snd_soc_component_set_jack() called in the .exit()

Fred Oh (2):
  ASoC: intel: sof_rt5682: move disabling jack to dai link's exit()
  ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit()

Pierre-Louis Bossart (3):
  ASoC: soc-link: introduce exit() callback
  ASoC: Intel: bdw-rt5677: fix module load/unload issues
  ASoC: Intel: kbl-rt5660: use .exit() dailink callback to release gpiod

 include/sound/soc-link.h                   |  1 +
 include/sound/soc.h                        |  3 +++
 sound/soc/intel/boards/bdw-rt5677.c        | 18 ++++++++++++++--
 sound/soc/intel/boards/cml_rt1011_rt5682.c |  8 ++++++++
 sound/soc/intel/boards/kbl_rt5660.c        | 17 +++++++++++++--
 sound/soc/intel/boards/sof_rt5682.c        | 24 ++++++++--------------
 sound/soc/soc-core.c                       |  3 +++
 sound/soc/soc-link.c                       |  6 ++++++
 8 files changed, 60 insertions(+), 20 deletions(-)

base-commit: 39853b1438
--
2.20.1
2020-06-23 12:54:12 +01:00
..
adi
amd ASoC: amd: Removing unnecessary instance initialization 2020-06-18 13:14:25 +01:00
atmel ASoC: atmel: rename to snd_soc_component_read() 2020-06-22 15:13:39 +01:00
au1x ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:32 +00:00
bcm ASoC: bcm: use snd_soc_xxx_active() 2020-05-18 16:15:05 +01:00
cirrus ASoC: cirrus: use snd_soc_xxx_active() 2020-05-18 16:15:06 +01:00
codecs ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit() 2020-06-23 12:54:11 +01:00
dwc ASoC: dwc: use snd_soc_xxx_active() 2020-05-18 16:15:15 +01:00
fsl ASoC: fsl_easrc: Fix uninitialized scalar variable in fsl_easrc_set_ctx_format 2020-06-23 12:54:09 +01:00
generic ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:36 +00:00
hisilicon ASoC: hisilicon: Use the defined variable to clean code 2020-04-27 14:08:44 +01:00
img ASoC: img-parallel-out: Fix a reference count leak 2020-06-15 20:58:35 +01:00
intel ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit() 2020-06-23 12:25:41 +01:00
jz4740 ASoC: ingenic: Unconditionally depend on devicetree 2020-05-28 13:20:17 +01:00
kirkwood ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:39 +00:00
mediatek ASoC: mediatek: mt8183-da7219: set playback and capture constraints 2020-06-23 12:54:10 +01:00
meson ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
mxs ASoC: mxs-saif: Fix unused assignment 2020-04-29 14:23:19 +01:00
pxa ASoC: pxa: rename to snd_soc_component_read() 2020-06-22 15:13:38 +01:00
qcom ASoC: qcom: Kconfig: Tweak dependencies on SND_SOC_SDM845 2020-06-19 12:07:01 +01:00
rockchip ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:45 +00:00
samsung ASoC: samsung: Add driver for Aries boards 2020-06-15 20:58:30 +01:00
sh SoC: rsnd: add interrupt support for SSI BUSIF buffer 2020-05-12 10:56:21 +01:00
sirf ASoC: sirf: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:05:39 +01:00
sof ASoC: SOF: Intel: hda: Clear RIRB status before reading WP 2020-06-15 15:18:34 +01:00
spear ASoC: spear: use devm_platform_ioremap_resource() to simplify code 2019-07-31 12:06:18 +01:00
sprd ASoC: sprd: use snd_compress_ops 2020-04-21 19:01:59 +01:00
sti ASoC: sti: sti_uniperif: move .suspend/.resume to component 2020-01-21 17:04:37 +00:00
stm ASoC: stm32: sai: fix sai probe 2020-04-17 19:37:14 +01:00
sunxi ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:50 +00:00
tegra ASoC: tegra: Fix reference count leaks. 2020-06-17 14:04:02 +01:00
ti ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src 2020-05-26 17:20:22 +01:00
txx9 ASoC: txx9: add back the hack for a too small resource_size_t 2020-04-21 20:01:50 +02:00
uniphier ASoC: uniphier: use snd_soc_xxx_active() 2020-05-18 16:15:14 +01:00
ux500 ASoC: ux500: mop500: Fix some refcounted resources issues 2020-05-12 17:14:34 +01:00
xilinx ASoC: xilinx: Use managed buffer allocation 2019-12-11 16:43:25 +00:00
xtensa ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:55 +00:00
zte ASoC: zte: zx-tdm: remove redundant variables dev 2020-03-11 17:59:49 +00:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile ASoC: soc-component: merge soc-io.c into soc-component.c 2020-06-15 18:21:26 +01:00
soc-ac97.c ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-acpi.c
soc-card.c ASoC: soc-card: add snd_soc_card_remove_dai_link() 2020-05-30 02:11:42 +01:00
soc-component.c ASoC: soc-component: use io_mutex correctly 2020-06-22 15:13:37 +01:00
soc-compress.c ASoC: soc-pcm/compress: reduce verbosity on mapping ok messages 2020-06-15 17:12:11 +01:00
soc-core.c ASoC: soc-link: introduce exit() callback 2020-06-23 12:25:37 +01:00
soc-dai.c ASoC: reduce verbosity of error messages for sof-dai and sof-link 2020-05-29 14:21:45 +01:00
soc-dapm.c ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-devres.c ASoC: soc-devres: add devm_snd_soc_register_dai() 2020-06-15 14:15:11 +01:00
soc-generic-dmaengine-pcm.c ASoC: dmaengine_pcm: export soc_component_to_pcm 2020-06-12 14:18:02 +01:00
soc-jack.c ASoC: soc-card: move snd_soc_card_jack_new() to soc-card 2020-05-30 02:11:28 +01:00
soc-link.c ASoC: soc-link: introduce exit() callback 2020-06-23 12:25:37 +01:00
soc-ops.c ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-pcm.c Merge series "ASoC: improve core dmesg logs and verbosity" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>: 2020-06-15 20:58:46 +01:00
soc-topology.c ASoC: soc-topology: use devm_snd_soc_register_dai() 2020-06-15 14:15:12 +01:00
soc-utils.c ASoC: utils: Drop superfluous ioctl PCM ops 2019-12-11 16:00:48 +00:00