Ranjani Sridharan
b4ed6b51f3
ASoC: core: conditionally increase module refcount on component open
...
Recently, for Intel platforms the "ignore_module_refcount" field
was introduced for the component driver. In order to avoid a
deadlock preventing the PCI modules from being removed
even when the card was idle, the refcounts were not incremented
for the device driver module during component probe.
However, this change introduced a nasty side effect:
the device driver module can be unloaded while a pcm stream is open.
This patch proposes to change the field to be renamed as
"module_get_upon_open". When this field is set, the module
refcount should be incremented on pcm open amd decremented
upon pcm close. This will enable modules to be removed
when no PCM playback/capture happens and prevent removal
when the component is actually in use.
Also, align with the skylake component driver with the new name.
Fixes: b450b878('ASoC: core: don't increase component module refcount
unconditionally'
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-04-08 14:15:44 +07:00
..
ac97
ASoC: ac97: convert to SPDX identifiers
2018-07-02 10:56:09 +01:00
ac97_codec.h
ASoC: ac97: convert to SPDX identifiers
2018-07-02 10:56:09 +01:00
aci.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ad1816a.h
ad1843.h
adau1373.h
aess.h
ak4xxx-adda.h
ak4113.h
ak4114.h
ak4117.h
ak4531_codec.h
ak4641.h
alc5623.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
asequencer.h
asound.h
asoundef.h
compress_driver.h
ALSA: compress: Fix stop handling on compressed capture streams
2019-02-05 22:01:41 +01:00
control.h
ALSA: control: Hardening for potential Spectre v1
2018-04-25 10:37:46 +02:00
core.h
ALSA: info: Move card id proc creation into info.c
2019-02-06 18:11:58 +01:00
cs35l33.h
cs35l34.h
cs35l35.h
cs35l36.h
ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier
2019-02-08 13:00:28 +00:00
cs42l52.h
cs42l56.h
cs42l73.h
cs4231-regs.h
cs4271.h
cs8403.h
cs8427.h
da7213.h
da7218.h
da7219-aad.h
da7219.h
ASoC: da7219: Add common clock usage for providing DAI clks
2018-03-09 17:40:41 +00:00
da9055.h
designware_i2s.h
dmaengine_pcm.h
ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag
2019-02-14 16:17:35 +00:00
emu10k1.h
ALSA: emu10k1: Reduce GFP_ATOMIC allocation
2018-04-16 14:01:53 +02:00
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
es1688.h
gus.h
hda_chmap.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
hda_codec.h
ALSA: hda - Serialize codec registrations
2019-02-01 11:30:09 +01:00
hda_component.h
i915/snd_hdac: I915 subcomponent for the snd_hdac
2019-02-08 16:58:59 +01:00
hda_hwdep.h
hda_i915.h
ALSA: hda: Make audio component support more generic
2018-07-17 22:25:48 +02:00
hda_register.h
ALSA: hda: add register offset for stripe control
2019-01-14 19:52:27 +01:00
hda_regmap.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
hda_verbs.h
ALSA: hda: add verbs for stripe control
2019-01-14 19:52:23 +01:00
hdaudio.h
ALSA: hda: Add api to program stripe control bits
2019-01-14 19:52:25 +01:00
hdaudio_ext.h
ALSA: hdac: add extended ops in the hdac_bus
2018-06-28 07:33:29 +02:00
hdmi-codec.h
hwdep.h
->poll() methods should return __poll_t
2017-11-27 16:19:52 -05:00
i2c.h
info.h
ALSA: info: Drop unused snd_info_entry.card field
2019-02-06 18:11:58 +01:00
initval.h
jack.h
l3.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
max9768.h
max98088.h
max98090.h
max98095.h
memalloc.h
ALSA: isa: Avoid passing NULL to memory allocators
2019-02-01 17:16:40 +01:00
minors.h
mixer_oss.h
mpu401.h
omap-hdmi-audio.h
opl3.h
opl4.h
pcm-indirect.h
pcm.h
ALSA: pcm: Fix function name in kernel-doc comment
2019-03-13 21:26:32 +01:00
pcm_drm_eld.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
pcm_iec958.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
pcm_oss.h
ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
2018-03-23 22:18:05 +01:00
pcm_params.h
ALSA: pcm: Fix interval evaluation with openmin/max
2018-11-29 12:05:19 +01:00
pt2258.h
pxa2xx-lib.h
ASoC: pxa: move some functions to pxa2xx-lib
2018-06-29 12:05:04 +01:00
rawmidi.h
ALSA: rawmidi: A lightweight function to discard pending bytes
2018-10-04 20:13:17 +02:00
rt286.h
rt298.h
rt5514.h
ASoC: rt5514: The DSP clock can be calibrated by the other clock source
2017-11-07 11:23:36 +01:00
rt5645.h
ASoC: rt5645: Set card long_name for GPD win / pocket
2017-12-12 10:41:56 +00:00
rt5659.h
ASoC: rt5659: Add the support of Intel HDA Header
2018-02-12 09:31:26 +00:00
rt5660.h
rt5663.h
rt5665.h
rt5668.h
ASoC: rt5668: add rt5668B codec driver
2018-04-16 19:24:32 +01:00
rt5670.h
rt5682.h
ASoC: rt5682: add rt5682 codec driver
2018-06-18 12:54:38 +01:00
s3c24xx_uda134x.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sb.h
sb16_csp.h
ALSA: sb: Fix sparse warning wrt PCM format type
2018-07-27 09:05:33 +02:00
seq_device.h
seq_kernel.h
ALSA: seq: Avoid invalid lockdep class warning
2017-11-06 20:25:31 +01:00
seq_midi_emul.h
seq_midi_event.h
ALSA: seq: Minor cleanup of MIDI event parser helpers
2018-08-01 22:54:35 +02:00
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h
ALSA: seq: virmidi: Use READ_ONCE/WRITE_ONCE() macros
2018-07-30 14:52:30 +02:00
sh_dac_audio.h
sh_fsi.h
ASoC: fsi: convert to SPDX identifiers
2018-08-02 10:56:59 +01:00
simple_card.h
ASoC: simple-card: convert to SPDX identifiers
2018-07-02 10:52:47 +01:00
simple_card_utils.h
ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform()
2019-01-21 18:14:16 +00:00
snd_wavefront.h
ASoC: Updates for v4.15
2017-11-13 15:45:57 +01:00
soc-acpi-intel-match.h
ASoC: Intel: common: add ACPI matching tables for ICL
2018-12-03 12:02:13 +00:00
soc-acpi.h
ASoC: soc-acpi: remove new_mach_data field
2019-02-12 16:56:06 +00:00
soc-dai.h
ASoC: core: add support to snd_soc_dai_get_channel_map()
2018-07-24 12:06:43 +01:00
soc-dapm.h
ASoC: dapm: harden use of lookup tables
2019-02-06 17:32:02 +00:00
soc-dpcm.h
ASoC: add for_each_dpcm_be() macro
2018-09-20 10:31:20 -07:00
soc-topology.h
ASoC: topology: unload physical dai link in remove
2019-02-04 11:59:30 +01:00
soc.h
ASoC: core: conditionally increase module refcount on component open
2019-04-08 14:15:44 +07:00
soundfont.h
spear_dma.h
spear_spdif.h
sta32x.h
sta350.h
tas2552-plat.h
tas5086.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
tea6330t.h
timer.h
ALSA: timer: Limit max instances per timer
2017-11-06 10:41:24 +01:00
tlv.h
tlv320aic3x.h
tlv320aic32x4.h
tlv320dac33-plat.h
tpa6130a2-plat.h
uda134x.h
uda1380.h
util_mem.h
vx_core.h
wavefront.h
wm0010.h
wm1250-ev1.h
wm2000.h
wm2200.h
wm5100.h
wm8903.h
wm8904.h
wm8955.h
wm8960.h
wm8962.h
wm8993.h
wm8996.h
wm9081.h
wm9090.h
wss.h