Takashi Iwai
4b671f5774
ALSA: pcm: Add an ioctl to specify the supported protocol version
...
We have an ioctl to inform the PCM protocol version the running kernel
supports, but there is no way to know which protocol version the
user-space can understand. This lack of information caused headaches
in the past when we tried to extend the ABI. For example, because we
couldn't guarantee the validity of the reserved bytes, we had to
introduce a new ioctl SNDRV_PCM_IOCTL_STATUS_EXT for assigning a few
new fields in the formerly reserved bits. If we could know that it's
a new alsa-lib, we could assume the availability of the new fields,
thus we could have reused the existing SNDRV_PCM_IOCTL_STATUS.
In order to improve the ABI extensibility, this patch adds a new ioctl
for user-space to inform its supporting protocol version to the
kernel. By reporting the supported protocol from user-space, the
kernel can judge which feature should be provided and which not.
With the addition of the new ioctl, the PCM protocol version is bumped
to 2.0.14, too. User-space checks the kernel protocol version via
SNDRV_PCM_INFO_PVERSION, then it sets the supported version back via
SNDRV_PCM_INFO_USER_PVERSION.
Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2017-06-27 13:55:46 +02:00
..
ac97_codec.h
ASoC: ac97: add gpio chip
2015-11-18 18:08:54 +00:00
aci.h
ad1816a.h
ALSA: ad1816a: Remove always NULL parameters
2015-01-02 16:26:20 +01:00
ad1843.h
adau1373.h
aess.h
ak4xxx-adda.h
ak4113.h
ALSA: ak411x: Use array instead of offsetof()
2017-05-17 07:13:03 +02:00
ak4114.h
ALSA: ak411x: Use array instead of offsetof()
2017-05-17 07:13:03 +02:00
ak4117.h
ALSA: ak411x: Use array instead of offsetof()
2017-05-17 07:13:03 +02:00
ak4531_codec.h
ak4641.h
alc5623.h
asequencer.h
asound.h
asoundef.h
atmel-abdac.h
dmaengine: dw: move dw_dmac.h to where it belongs to
2014-09-11 11:48:12 +05:30
atmel-ac97c.h
dmaengine: dw: move dw_dmac.h to where it belongs to
2014-09-11 11:48:12 +05:30
compress_driver.h
ALSA: compress: Fix kernel-doc warnings
2016-11-15 07:28:15 +01:00
control.h
sched/headers: Prepare to remove spurious <linux/sched.h> inclusion dependencies
2017-03-02 08:42:41 +01:00
core.h
ALSA: Use IS_ENABLED() in common headers
2017-05-17 07:13:04 +02:00
cs35l33.h
ASoC: cs35l33: Initial commit of the cs35l33 CODEC driver.
2016-06-27 17:39:06 +01:00
cs35l34.h
ASoC: cs35l34: Initial commit of the cs35l34 CODEC driver.
2016-10-21 12:02:44 +01:00
cs35l35.h
ASoC: cs35l35: Allow user to configure IMON SCALE
2017-04-21 18:01:38 +01:00
cs42l52.h
cs42l56.h
ASoC: Add support for CS42L56 CODEC
2014-05-05 18:20:22 -07:00
cs42l73.h
cs4231-regs.h
cs4271.h
cs8403.h
cs8427.h
da7213.h
ASoC: da7213: Add support to handle mclk data provided to driver
2015-10-07 15:11:34 +01:00
da7218.h
ASoC: da7218: Add da7218 codec driver
2015-11-30 12:24:12 +00:00
da7219-aad.h
ASoC: codecs: Add da7219 codec driver
2015-10-02 18:11:27 +01:00
da7219.h
ASoC: da7219: Disable AAD if codec is not a wake-up source
2016-09-26 09:39:50 -07:00
da9055.h
designware_i2s.h
ASoC: dwc: add quirk to override COMP_PARAM_1 register
2016-01-10 12:11:50 +00:00
dmaengine_pcm.h
ASoC: Revert "Drop SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag"
2017-01-23 18:16:33 +00:00
emu10k1.h
ALSA: emu10k1: Use workqueue instead of kthread for emu1010 fw polling
2016-11-15 08:21:19 +01:00
emu10k1_synth.h
emu8000.h
emu8000_reg.h
emux_legacy.h
emux_synth.h
ALSA: seq: Allow the tristate build of OSS emulation
2017-06-09 22:09:45 +02:00
es1688.h
ALSA: es1688: Remove almost always NULL parameter
2015-01-02 16:27:03 +01:00
gus.h
ALSA: Include linux/io.h instead of asm/io.h
2015-01-28 16:49:33 +01:00
hda_chmap.h
ALSA: hda - Update chmap tlv to report sink's capability
2016-04-04 16:04:24 +02:00
hda_hwdep.h
hda_i915.h
drm/i915/dp: DP audio API changes for MST
2016-09-22 09:01:55 -07:00
hda_register.h
ALSA: hda - add more ML register definitions
2017-04-07 10:39:18 +02:00
hda_regmap.h
ALSA: hda - Fix possible race on regmap bypass flip
2016-04-21 17:59:17 +02:00
hda_verbs.h
hdaudio.h
ALSA: hda - Avoid tricky macros
2017-04-03 08:42:43 +02:00
hdaudio_ext.h
ALSA - Ext hda: remove bus_parse_capabilities
2016-08-09 08:53:56 +02:00
hdmi-codec.h
ASoC: hdmi-codec: use unsigned type to structure members with bit-field
2016-12-16 12:27:35 +00:00
hwdep.h
ALSA: hwdep: Embed struct device
2015-02-02 14:42:42 +01:00
i2c.h
ALSA: i2c: constify snd_i2c_ops structures
2015-11-30 11:40:08 +01:00
info.h
ALSA: replace CONFIG_PROC_FS with CONFIG_SND_PROC_FS
2015-05-27 21:25:19 +02:00
initval.h
jack.h
ALSA: jack: Allow building the jack layer without input device
2016-02-23 09:03:07 +01:00
l3.h
ASoC: L3 bus: Add default gpio ops
2016-08-08 11:55:20 +01:00
max9768.h
max98088.h
max98090.h
max98095.h
memalloc.h
minors.h
mixer_oss.h
ALSA: Use IS_ENABLED() in common headers
2017-05-17 07:13:04 +02:00
mpu401.h
omap-hdmi-audio.h
omapdss: hdmi audio: Make header file independent of video/omapdss.h
2016-06-03 16:06:36 +03:00
omap-pcm.h
ASoC: omap-pcm: Move omap-pcm under include/sound
2014-05-26 15:32:32 +01:00
opl3.h
ALSA: seq: Allow the tristate build of OSS emulation
2017-06-09 22:09:45 +02:00
opl4.h
pcm-indirect.h
ALSA: pcm: Fix negative appl_ptr handling in pcm-indirect helpers
2017-05-25 23:34:45 +02:00
pcm.h
ALSA: pcm: Add an ioctl to specify the supported protocol version
2017-06-27 13:55:46 +02:00
pcm_drm_eld.h
ALSA: pcm: add DRM ELD helper
2015-05-22 16:01:44 +02:00
pcm_iec958.h
ALSA: pcm: add IEC958 channel status helper for hw_params
2016-04-06 11:47:48 -07:00
pcm_oss.h
pcm_params.h
ALSA: Add params_set_format helper
2015-02-24 00:43:18 +09:00
pt2258.h
pxa2xx-lib.h
ASoC: pxa: pxa-pcm-lib: switch over to snd-soc-dmaengine-pcm
2015-09-30 23:21:16 +01:00
rawmidi.h
ALSA: Use IS_ENABLED() in common headers
2017-05-17 07:13:04 +02:00
rt286.h
ASoC: add RT286 CODEC driver
2014-07-04 18:50:51 +01:00
rt298.h
ASoC: add rt298 codec driver
2015-07-09 12:00:11 +01:00
rt5514.h
ASoC: rt5514: Add the DMIC initial delay to wait it ready.
2016-10-25 14:25:36 +01:00
rt5640.h
ASoC: rt5640: Fill up the IN3's support
2015-10-22 13:33:00 +01:00
rt5645.h
ASoC: rt5645: Add jd_invert for Broadwell
2015-09-22 09:46:33 -07:00
rt5651.h
ASoC: add RT5651 CODEC driver
2014-04-18 18:52:18 +01:00
rt5659.h
ASoC: rt5659: add rt5659 codec driver
2015-11-18 12:55:25 +00:00
rt5660.h
ASoC: rt5660: add rt5660 codec driver
2016-09-24 19:51:57 +01:00
rt5665.h
treewide: Remove remaining executable attributes from source files
2017-02-25 12:12:50 -08:00
rt5670.h
ASoC: rt5670: Add IRQ function
2015-03-11 12:08:20 +00:00
rt5677.h
ASoC: rt5677: Add the MICBIAS VDD setting in the platform data
2015-01-08 18:36:02 +00:00
s3c24xx_uda134x.h
ASoC: s3c24xx_uda134x: Remove unused power() callback
2016-08-08 11:55:20 +01:00
sb.h
ALSA: Include linux/io.h instead of asm/io.h
2015-01-28 16:49:33 +01:00
sb16_csp.h
seq_device.h
ALSA: seq: Define driver object in each driver
2015-02-12 14:15:54 +01:00
seq_kernel.h
ALSA: seq: Drop snd_seq_autoload_lock() and _unlock()
2015-02-12 14:42:31 +01:00
seq_midi_emul.h
seq_midi_event.h
seq_oss.h
seq_oss_legacy.h
seq_virmidi.h
sh_dac_audio.h
sh_fsi.h
simple_card.h
ASoC: simple-card: use asoc_simple_card_parse_daifmt()
2016-07-01 17:34:02 +02:00
simple_card_utils.h
ASoC: simple-card: use devm_get_clk_from_child()
2017-01-23 17:46:33 +00:00
snd_wavefront.h
ALSA: isa: Constify snd_rawmidi_ops
2017-01-12 12:50:16 +01:00
soc-dai.h
ASoC: core: add optional pcm_new callback for DAI driver
2017-01-20 15:16:23 +00:00
soc-dapm.h
ASoC: dapm: Introduce DAPM_DOUBLE_R dual channel dual register control type
2016-11-02 09:55:30 -06:00
soc-dpcm.h
ASoC: Make soc_dpcm_debugfs_add() non-fatal
2015-04-09 11:32:29 +01:00
soc-topology.h
ASoC: topology: Only free TLV for volume mixers of a widget
2016-12-05 13:39:39 +00:00
soc.h
Merge remote-tracking branch 'asoc/topic/rt5665' into asoc-next
2017-04-30 22:15:43 +09:00
soundfont.h
spear_dma.h
ASoC: Update email-id of Rajeev Kumar
2015-04-28 16:31:01 +01:00
spear_spdif.h
sta32x.h
ASoC: sta32x: add device tree binding.
2015-01-27 17:13:25 +00:00
sta350.h
ASoC: sta350: add support for bits in miscellaneous registers
2014-05-05 12:52:59 -07:00
tas2552-plat.h
ASoC: tas2552: Support TI TAS2552 Amplifier
2014-07-17 17:57:05 +01:00
tas5086.h
tea6330t.h
timer.h
ALSA: timer: Introduce disconnect op to snd_timer_instance
2016-01-21 17:51:42 +01:00
tlv.h
ALSA: control: cage TLV_DB_RANGE_HEAD in kernel land because it was obsoleted
2016-09-25 22:16:49 +02:00
tlv320aic3x.h
tlv320aic32x4.h
tlv320dac33-plat.h
tpa6130a2-plat.h
uda134x.h
ASoC: uda134x: Remove is_powered_on_standby from platform data
2014-11-24 18:04:49 +00:00
uda1380.h
util_mem.h
vx_core.h
ALSA: vx: Use nonatomic PCM ops
2014-09-15 15:52:03 +02:00
wavefront.h
wm0010.h
wm1250-ev1.h
wm2000.h
wm2200.h
wm5100.h
wm8903.h
wm8904.h
ASoC: wm8904: Correct number of EQ registers
2015-10-20 15:46:09 +01:00
wm8955.h
wm8960.h
wm8962.h
ASoC: wm8962: Let CODEC driver enable and disable its own MCLK
2014-07-31 20:51:26 +01:00
wm8993.h
wm8996.h
wm9081.h
wm9090.h
wss.h
ALSA: wss: Remove (almost) always NULL parameters
2015-01-02 16:30:08 +01:00