[ This is an early pull request for 5.1 as I'll be traveling in the whole next week and likely offline. -- tiwai ]
Linus, please pull sound updates for v5.1-rc1 from: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.1-rc1 The topmost commit is a634090a0f242caa8ebc91967b118995a80eb13b ---------------------------------------------------------------- sound updates for 5.1 We had again a busy development cycle with many new drivers as well as lots of core improvements / cleanups. Let's go for highlights: ALSA core: - PCM locking scheme was refactored for reducing a global rwlock - PCM suspend is handled in the device type PM ops now; lots of explicit calls were reduced by this action - Cleanups about PCM buffer preallocation calls - Kill NULL device object in memory allocations - Lots of procfs API cleanups ASoC core: - Support for only powering up channels that are actively being used - Cleanups / fixes of topology API ASoC drivers: - MediaTek BTCVSD for a Bluetooth radio chip, which is the first such driver we've had upstream! - Quite a few improvements to simplify the generic card drivers, especially the merge of the SCU cards into the main generic drivers - Lots of fixes for probing on Intel systems to follow more standard styles - A big refresh and cleanup of the Samsung drivers - New drivers: Asahi Kasei Microdevices AK4497, Cirrus Logic CS4341 and CS35L26, Google ChromeOS embedded controllers, Ingenic JZ4725B, MediaTek BTCVSD, MT8183 and MT6358, NXP MICFIL, Rockchip RK3328, Spreadtrum DMA controllers, Qualcomm WCD9335, Xilinx S/PDIF and PCM formatters ALSA drivers: - Improvements of Tegra HD-audio controller driver for supporting new chips - HD-audio codec quirks for ALC294 S4 resume, ASUS laptop, Chrome headset button support and Dell workstations - Improved DSD support on USB-audio - Quirk for MOTU MicroBook II USB-audio - Support for Fireface UCX support and Solid State Logic Duende Classic/Mini ---------------------------------------------------------------- Adam Thomson (4): ASoC: da7219: MCLK should be enabled before DAI clocks ASoC: da7219: Add recalc_rate function to return DAI clock rate ASoC: da7219: Add support for master mode BCLK rate adjustment ASoC: da7219: Update TDM usage to be more flexible Aditya Pakki (3): ALSA: ice1712: fix a missing check of snd_i2c_sendbytes ALSA: line6: fix check on snd_card_register ALSA: sb: fix a missing check of snd_ctl_add Agrawal, Akshu (1): ASoC: ADAU7002: Add optional delay before start of capture Alexander Shiyan (2): ASoC: cs4341: Add driver for CS4341 DAC ASoC: cs4341: Add DT bindings documentation for CS4341 DAC Alison Wang (1): ASoC: sgtl5000: Allow SCLK pad drive strength to be changed Amadeusz Sławiński (3): ASoC: topology: Reduce number of dereferences when accessing dobj ASoC: topology: Remove widgets from dobj list ASoC: topology: Fix memory leak from soc_tplg_denum_create_texts Anders Roxell (1): ASoC: cs4341: fix waring unused-function Andrew Ford (1): ASoC: wm_adsp: Allow compressed buffers in any memory region Andy Shevchenko (1): gpiolib: acpi: Introduce ACPI_GPIO_QUIRK_ONLY_GPIOIO Axel Lin (1): ASoC: msm8916-wcd-digital: Select REGMAP_MMIO to fix build error Baolin Wang (2): dt-bindings: ASoC: Add Spreadtrum DMA platform documentation ASoC: sprd: Add Spreadtrum audio DMA platfrom driver Bard liao (7): ASoC: rt5645: remove unused mux define ASoC: rt5670: remove unused mux/mixer define ASoC: rt5645: store eq kcontrol byte in __be ASoC: rl6437a: use __be32 for a __be32 buf ASoC: rt5682: add default pdata for i2s mode ASoC: topology: fix memory leak in soc_tplg_dapm_widget_create ASoC: topology: unload physical dai link in remove Bogdan Togorean (3): ASoC: adau1977: Fix reset-gpios typo ASoC: adau1977: Add MICBIAS example in DT bindings ASoC: adau1977: Add support for setting MICBIAS via DT Charles Keepax (9): ASoC: arizona: Add channel numbers to AIFs ASoC: dapm: Only power up active channels from a DAI ASoC: dapm: Check for NULL widget in dapm_update_dai_unlocked ASoC: compress: Clarify the intent of current compressed ops handling ASoC: compress: Add helper functions for component trigger/set_params ASoC: wm_adsp: Factor out stripping padding from ADSP data ASoC: wm_adsp: Reorder some functions for improved clarity ASoC: wm_adsp: Refactor compress stream initialisation ASoC: wm_adsp: Improve logging messages Chen-Yu Tsai (1): ASoC: sunxi: sun50i-codec-analog: Rename hpvcc regulator supply to cpvdd Cheng-Yi Chiang (6): ASoC: qcom: Kconfig: select max98927 for sdm845 ASoC: sdm845: Set DAI format for dmic codec ASoC: Documentation: Add google, cros-ec-codec ASoC: cros_ec_codec: Add codec driver for Cros EC ASoC: qcom: Kconfig: select dmic for sdm845 ASoC: qcom: Kconfig: fix dependency for sdm845 Christoph Hellwig (2): ALSA: hal2: pass struct device to DMA API functions ALSA: mips: pass struct device to DMA API functions Clément Péron (1): ASoC: ak4118: fix missing header Codrin Ciubotariu (7): ASoC: codecs: ad193x: Remove capture support for codecs without ADC ASoC: codecs: ad193x: Set constraint to always have 32 sample bits ASoC: codecs: ad193x: Fix frame polarity for DSP_A format ASoC: codecs: ad193x: Add runtime support for DSP_A and I2S modes ASoC: codecs: ad193x: Add support to disable on-chip PLL ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() ASoC: codecs: pcm186x: Fix energysense SLEEP bit Colin Ian King (4): ASoC: Intel: make const arrays static, reduces object code size ASoC: mediatek: btcvsd: fix spelling mistake "offest" -> "offset" ASoC: codecs: jz4725b: fix spelling mistake "Deemphatize" -> "Deemphasize" ASoC: fsi: fix spelling mistake "doens't" -> "doesn't" Cosmin Samoila (2): ASoC: micfil: Add bindings for MICFIL DAI ASoC: Add MICFIL SoC Digital Audio Interface driver. Curtis Malainey (1): ASoC: soc-core: clear platform pointers on error Dan Carpenter (4): ALSA: fireface: Off by one in latter_handle_midi_msg() ASoC: wcd9335: remove some unnecessary NULL checks ASoC: dapm: Potential small memory leak in dapm_cnew_widget() ASoC: cs35l36: Fix an IS_ERR() vs NULL checking bug Daniel Baluta (3): ASoC: ak4458: Add support for AK4497 ASoC: dt-bindings: Document support for ak4497 ASoC: simple-card: Fix refcount underflow Daniel Mack (1): ASoC: eliminate left-over from Raumfeld machine driver removal Danny Milosavljevic (8): ASoC: sun4i-codec: Add MIC2 Pre-Amplifier, Mic2 input ASoC: sun4i-codec: Add Mic Playback Volume ASoC: sun4i-codec: Add sun7i_codec_controls, sun7i_codec_codec ASoC: sun4i-codec: Add Mic1 Boost Volume, Mic2 Boost Volume ASoC: sun4i-codec: Merge sun4i_codec_left_mixer_controls and sun4i_codec_right_mixer_controls into sun4i_codec_mixer_controls ASoC: sun4i-codec: Add Mic1 Playback Switch, Mic2 Playback Switch ASoC: sun4i-codec: Add FM Playback Volume, FM Left, FM Right, FM Playback Switch ASoC: sun4i-codec: Add Line Playback Volume, Line Boost Volume, Line Right, Line Left, Line Playback Switch Dimitris Papavasiliou (2): ASoC: pcm512x: Implement the set_bclk_ratio interface ASoC: pcm512x: Fix clocking calculations when not using the PLL Guennadi Liakhovetski (2): ALSA: pcm: remove a superfluous function declaration ASoC: regulator notifier registration should be managed Gustavo A. R. Silva (1): ASoC: xlnx: fix error handling in xlnx_formatter_pcm_probe Hans de Goede (17): ASoC: es8316: Add jack-detect support ASoC: es8316: Add DAC mono mix switch mixer control ASoC: Intel: bytcht_es8316: Sort includes alphabetically ASoC: Intel: bytcht_es8316: Minor refactoring ASoC: Intel: bytcht_es8316: Add support for SSP0 (BYTCR) ASoC: Intel: bytcht_es8316: Add jack-detect support ASoC: Intel: bytcht_es8316: Add external speaker mux support ASoC: Intel: bytcht_es8316: Add input-map support ASoC: Intel: bytcht_es8316: Set card long_name based on quirks ASoC: Intel: Add ACPI match table entry for ES8316 codec on BYTCR platform ASoC: Intel: common: Add quirk for PoV P1006W tablet ASoC: rt5651: Add ACPI ID 10EC5640 ASoC: rt5651: Add support for jack detect using an external GPIO ASoC: Intel: bytcr_rt5651: Revert "Fix DMIC map headsetmic mapping" ASoC: Intel: bytcr_rt5651: Add quirks module parameter ASoC: Intel: bytcr_rt5651: Add support for jack-detect using an external GPIO ASoC: Intel: bytcr_rt5651: Add quirk for PoV TAB-P1006W-232 (v1.0) tablet James Schulman (2): ASoC: cs35l36: Add support for Cirrus CS35L36 Amplifier ASoC: cs35l36: Add device tree documentation for CS35L36 Jenny TC (1): ASoC: Intel: Boards: Add Maxim98373 support Jiada Wang (1): ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address Jian-Hong Pan (1): ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 Johan Hovold (3): dt-bindings: sound: msm8916-wcd-analog: fix example regulator names ASoC: msm8916-wcd-analog: add missing license information ASoC: msm8916-wcd-digital: convert license header to SPDX Jussi Laako (2): ALSA: usb-audio: Cleanup DSD whitelist ALSA: usb-audio: Expose sample resolution through proc interface KaiChieh Chuang (4): ASoC: mediatek: add documents for btcvsd driver ASoC: mediatek: add btcvsd driver ASoC: mediatek: use %pOFn instead of device_node.name ASoC: mediatek: btcvsd fix rx stream assign Kangjie Lu (1): ALSA: gus: add a check of the status of snd_ctl_add Katsuhiro Suzuki (2): ASoC: rockchip: support ACODEC for rk3328 ASoC: rockchip: add workaround for silence of rk3288 ACODEC Keyon Jie (2): ALSA: hda: Fix mismatches for register mask and value in hdac controller ALSA: hda: Fix a mask wrong issue in snd_hdac_stream_start() Kirill Marinushkin (2): ASoC: pcm3060: Add soft reset on probe ASoC: pcm3060: Add clock select Kuninori Morimoto (30): ASoC: simple-card-utils: check "reg" property on asoc_simple_card_get_dai_id() ASoC: audio-graph-card: add asoc_graph_card_get_conversion() ASoC: audio-graph-scu-card: remove audio-graph-scu-card on Doc ASoC: audio-graph-scu-card: remove audio-graph-scu-card ASoC: simple-scu-card: remove simple-scu-card on Doc ASoC: simple-scu-card: remove simple-scu-card ASoC: audio-graph-card: add 1 CPU : 1 Codec support again ASoC: audio-graph-card: add link_info ASoC: audio-graph-card: cleanup DAI link loop method - step1 ASoC: audio-graph-card: cleanup DAI link loop method - step2 ASoC: audio-graph-card: reduce naming prefix ASoC: simple-card: add asoc_simple_card_get_conversion() ASoC: simple-card: add 1 CPU : 1 Codec support again ASoC: simple-card: add link_info ASoC: simple-card: cleanup DAI link loop method - step1 ASoC: simple-card: cleanup DAI link loop method - step2 ASoC: simple-card: reduce naming prefix ASoC: rsnd: update BSDSR/BSDISR handling ASoC: soc.h: add explanation of legacy/modern style of dai_link ASoC: soc-core: add .num_platform for dai_link ASoC: soc-core: add new snd_soc_flush_all_delayed_work() ASoC: soc-core: merge card resources cleanup method ASoC: soc-core: reduce if/else nest on soc_probe_link_dais ASoC: soc-core: add soc_cleanup_component() ASoC: soc-core: use for_each_link_codecs() for dai_link codecs ASoC: simple-card: rename to asoc_simple_card_canonicalize_platform() ASoC: Fixup build error for mt6358 ASoC: soc-core: use for_each_link_codecs() for dai_link codecs V2 ASoC: rsnd: synchronize connection check for simple-card/audio-graph ASoC: rsnd: fixup TDM Split mode check for CTU Manuel Reinhardt (1): ALSA: usb-audio: Add quirk for MOTU MicroBook II Marco Felsch (1): ASoC: ssm2602: switch to SPDX identifier Mark Brown (2): ASoC: core: Fix multi-CODEC setups ASoC: wcd9335: Fix missing slimbus dependency Maruthi Srinivas Bayyavarapu (7): dt-bindings: ASoC: xlnx, audio-formatter: Document audio formatter bindings ASoC: xlnx: add pcm formatter platform driver ASoC: xlnx: enable audio formatter driver build dt-bindings: ASoC: xlnx, spdif: Document spdif bindings ASoC: xlnx: add SPDIF audio driver ASoC: xlnx: enable SPDIF driver build ASoC: xlnx: parse AES audio parameters Mathieu Malaterre (1): ASoC: Use __printf markup to silence compiler Michał Mirosław (3): ASoC: wm8904: make the driver visible in Kconfig ASoC: wm8904: save model id directly in of_device_id.data ASoC: wm8904: enable MCLK in STANDBY Nathan Chancellor (1): ASoC: codecs: jz4725b: Remove unnecessary const qualifier Olivier Moysan (9): ASoC: stm32: i2s: add power management SoC: stm32: i2s: manage clock power ASoC: stm32: i2s: fix IRQ clearing ASoC: stm32: i2s: fix 16 bit format support ASoC: stm32: i2s: fix stream count management ASoC: stm32: i2s: fix dma configuration ASoC: stm32: i2s: remove useless callback ASoC: stm32: i2s: fix race condition in irq handler ASoC: stm32: i2s: skip useless write in slave mode Paul Cercueil (7): ASoC: codecs: Add jz4725b-codec driver dt-bindings: sound: Document jz4740-codec bindings dt-bindings: sound: Document jz4725b-codec bindings ASoC: codecs: jz4740: Use SPDX license notifier ASoC: codecs: jz4740: Add support for devicetree ASoC: codecs: Kconfig: Show knob, and depend on MIPS || COMPILE_TEST ASoC: codecs: jz4725b: Use C++ style comments in header Peter Seiderer (1): tlv320aic32x4: delay i2c access by 1 ms after hardware reset Peter Ujfalusi (3): ASoC: ti: davinci-mcasp: No need for IS_MODULE/BUILTIN check for pcm driver ASoC: davinci-mcasp: Document GPIO support ASoC: ti: davinci-mcasp: Add support for GPIO mode of the pins Philipp Zabel (1): ASoC: ssm2602: Fix ADC powerup sequencing Pierre-Louis Bossart (64): ASoC: Intel: Skylake: remove useless cast ASoC: Intel: Skylake: simplify boolean tests ASoC: Intel: Haswell: remove unneeded semicolon ASoC: Intel: Haswell: assign booleans to true/false ASoC: Intel: Baytrail: remove unneeded variable ASoC: Intel: Baytrail: simplify boolean test ASoC: Intel: Atom: simplify boolean tests ASoC: Intel: boards: use snd_mask_set_format in all machine drivers ASoC: dmic: declare trigger function as static ASoC: max98090: remove unused constant variables ASoC: es8316: remove unused constant variables ASoC: codecs: fix kernel doc descriptions ASoC: max98383: fix boolean assignments to true/false ASoC: cs4271: fix boolean assignments ASoC: rt274: fix boolean tests ASoc: rt286: fix boolean tests ASoC: rt5640: fix boolean assignments ASoC: max98927: fix boolean assignments ASoC: rt5651: fix boolean assignments ASoC: nau8824: fix boolean assignment ASoC: tscs42xx.c: fix boolean test ASoC: mt6351: remove unneeded variable ASoC: da7219: fix endianness issues ASoC: da7219: use logical AND ASoC: rt298: fix boolean tests ASoC: soc-acpi: add static inline fallbacks when CONFIG_ACPI=n ASoC: add helper to change platform name for all dailinks ASoC: Intel: haswell: platform name fixup support ASoC: Intel: broadwell: platform name fixup support ASoC: Intel: bdw-rt5677: platform name fixup support ASoC: Intel: bytcr_rt5640: platform name fixup support ASoC: Intel: bytcr_rt5651: platform name fixup support ASoC: Intel: bytcht_da7213: platform name fixup support ASoC: Intel: bytcht_es8316: platform name fixup support ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support ASoC: Intel: cht_bsw_nau8824: platform name fixup support ASoC: Intel: cht_bsw_rt5645: platform name fixup support ASoC: Intel: cht_bsw_rt5672: platform name fixup support ASoC: Intel: bxt_da7219_max98357a: platform name fixup support ASoC: Intel: bxt_rt298: platform name fixup support ASoC: Intel: glk_rt5682_max98357a: platform name fixup support ASoC: Intel: cht_bsw_rt5672: remove useless test ASoC: dapm: fix use-after-free issue with dailink sname ASoC: dapm: harden use of lookup tables ASoC: core: don't increase component module refcount unconditionally ASoC: Intel: Skylake: set .ignore_module_refcount field in component ASoC: hdac_hdmi: use devm_kzalloc for all structures ASoC: Intel: bxt-match: remove prefix for SOF files ASoC: Intel: byt-match.c: remove prefix for SOF files ASoC: Intel: cht-match: remove prefix for SOF files ASoC: Intel: cnl-match: remove prefix for SOF files ASoC: Intel: glk-match: remove prefix for SOF files ASoC: Intel: hda-match: remove prefix for SOF files ASoC: Intel: hsw-bdw-match: remove prefix for SOF files ASoC: Intel: icl-match: remove prefix for SOF files ASoC: Intel: soc-acpi: bxt-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: byt-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: cht-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: glk-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: hsw-bdw-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: icl-match: remove asoc_plat_name field ASoC: Intel: soc-acpi: cnl-match.c: remove asoc_plat_name field ASoC: soc-acpi: remove asoc_plat_name field ASoC: soc-acpi: remove new_mach_data field Ranjani Sridharan (3): ASoC: topology: add SND_SOC_DOBJ_GRAPH type for dapm routes ASoC: topology: modify dapm route loading routine and add dapm route unloading ALSA: PCM: check if ops are defined before suspending PCM Ricardo Biehl Pasquali (1): ALSA: pcm: Comment why read blocks when PCM is not running S.j. Wang (1): ASoC: fsl_esai: fix register setting issue in RIGHT_J mode Sameer Pujar (14): ALSA: hda: add verbs for stripe control ALSA: hda: Add api to program stripe control bits ALSA: hda: add register offset for stripe control ALSA: hda: program stripe bits for controller ALSA: hda: program stripe control for codec ALSA: hda/tegra: runtime power management support ALSA: hda/tegra: get clock handles early in probe ALSA: hda/tegra: add runtime PM callbacks ALSA: hda/tegra: remove redundant clock enable API ALSA: hda/tegra: implement runtime suspend/resume ALSA: hda/tegra: add driver flag for runtime PM ALSA: hda/tegra: property for card name arm64: tegra: custom name for hda sound card ALSA: hda/tegra: sound card name from device tree Sergej Sawazki (2): ASoC: wm8741: Add digital mute callback ASoC: wm8741: Set OSR mode in hw_params() Shengjiu Wang (1): ASoC: fsl_sai: Remove expensive print in irq handler Shunli Wang (4): ASoC: mediatek: mt8183: add platform driver ASoC: mediatek: mt8183: add audio afe document ASoC: mediatek: mt6358: add codec driver ASoC: mediatek: mt6358: add codec document Srinivas Kandagatla (9): ASoC: msm8916-wcd-digital: remove few unused variables ASoC: dt-bindings: update wcd9335 bindings. ASoC: wcd9335: add support to wcd9335 codec ASoC: wcd9335: add CLASS-H Controller support ASoC: wcd9335: add basic controls ASoC: wcd9335: add playback dapm widgets ASoC: wcd9335: add capture dapm widgets ASoC: wcd9335: add audio routings ASoC: apq8096: add slim support Stefan Agner (6): ASoC: imx-sgtl5000: put of nodes if finding codec fails ASoC: imx-sgtl5000: lower log level for potential probe deferral cases ASoC: imx-sgtl5000: don't print EPROBE_DEFER as error ASoC: fsl_spdif: don't print EPROBE_DEFER as error ASoC: imx-spdif: don't print EPROBE_DEFER as error ASoC: soc-core: remove error due to probe deferral Stephan Gerhold (3): ASoC: Intel: sst: Simplify is_byt_cr() ASoC: Intel: sst: Fallback to BYT-CR if IRQ 5 is missing ASoC: Intel: bytcr_rt5640: Add quirks for ASUS MeMO Pad 7 (ME176C) Stephen Rothwell (1): ASoC: xlnx: fix up for snd_pcm_lib_preallocate_pages_for_all() API change Stuart Henderson (2): ASoC: wm_adsp: Update cached error state on trigger ASoC: wm_adsp: Add support for multiple compressed buffers Sylwester Nawrocki (30): ASoC: doc: Fix typos in dpcm.rst ASoC: dmaengine: Improve of_node test in dmaengine_pcm_request_chan_of() ASoC: dmaengine: Extend use of chan_names provided in custom DMA config ASoC: samsung: dmaengine: Allow to specify custom DMA device ASoC: samsung: i2s: Convert to single component with multiple DAIs ASoC: samsung: i2s: Restore support for the secondary PCM ASoC: samsung: i2s: Move clk supplier data to common driver data structure ASoC: samsung: i2s: Add widgets and routes for DPCM support ASoC: samsung: i2s: Move core clk to the driver common data structure ASoC: samsung: i2s: Move opclk data to common driver data structure ASoC: samsung: i2s: Move registers cache to common driver data structure ASoC: samsung: i2s: Move SFR pointer to common driver data structure ASoC: samsung: i2s: Drop spinlock pointer from i2s_dai data structure ASoC: samsung: i2s: Move IP variant data to common driver data structure ASoC: samsung: i2s: Move quirks data to common driver data structure ASoC: samsung: i2s: Get rid of a static spinlock ASoC: samsung: odroid: Add support for secondary CPU DAI ASoC: samsung: Specify DMA channel names through custom DMA config ASoC: samsung: i2s: Simplify pri_dai, sec_dai pointers usage ASoC: samsung: i2s: Change indentation in SAMSUNG_I2S_FMTS definition ASoC: samsung: i2s: Comments clean up ASoC: samsung: i2s: Convert to SPDX License Indentifier ASoC: dmaengine: Remove unused SND_DMAENGINE_PCM_FLAG_CUSTOM_CHANNEL_NAME flag ASoC: samsung: i2s: Prevent potential NULL platform data dereference ASoC: samsung: odroid: Ensure proper sample rate on pri/sec PCM ASoC: samsung: odroid: Add missing DAPM routes ASoC: samsung: i2s: Fix secondary platform device unregistration ASoC: samsung: i2s: Fix multiple "IIS multi" devices initialization ASoC: samsung: odroid: Fix of_node refcount unbalance ASoC: samsung: odroid: Prevent uninitialized variable use Takashi Iwai (87): ALSA: pcm: Suspend streams globally via device type PM ops ALSA: atiixp: Move PCM suspend/resume code into trigger callback ALSA: isa: Remove superfluous snd_pcm_suspend*() calls ALSA: drivers: Remove superfluous snd_pcm_suspend*() calls ALSA: pci: Remove superfluous snd_pcm_suspend*() calls ALSA: usb: Remove superfluous snd_pcm_suspend*() calls ALSA: x86: Remove superfluous snd_pcm_suspend*() calls ALSA: ppc: Remove superfluous snd_pcm_suspend*() calls ALSA: aoa: Remove superfluous snd_pcm_suspend*() calls ALSA: arm: Remove superfluous snd_pcm_suspend*() calls ALSA: pcmcia: Remove superfluous snd_pcm_suspend*() calls drm: bridge: dw-hdmi: Remove superfluous snd_pcm_suspend*() calls ALSA: doc: Update the description about PCM suspend procedure ALSA: pcm: Make snd_pcm_suspend() local static ALSA: hda - Fix unused variable warning ALSA: pcm: Call snd_card_unref() inside in_pcm_file() ALSA: pcm: Unify snd_pcm_group initialization ALSA: pcm: Make PCM linked list consistent while re-grouping ALSA: pcm: Avoid confusing loop in snd_pcm_unlink() ALSA: pcm: More fine-grained PCM link locking ALSA: pcm: Remove down_write() hack for snd_pcm_link_rwsem ALSA: pcm: Cleanup snd_pcm_stream_lock() & co ALSA: pcm: Drop unused snd_pcm_substream.file field ALSA: pcm: Simplify proc file destruction ALSA: proc: Avoid possible leaks of snd_info_entry objects ALSA: pcm: Use the common error path in __snd_pcm_lib_xfer() ALSA: hda - Record the current power state before suspend/resume calls ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume ALSA: hda - Use standard device registration for beep ALSA: isa: Avoid passing NULL to memory allocators ALSA: x86: Avoid passing NULL to memory allocators ALSA: arm: Avoid passing NULL to memory allocators ASoC: amd: Avoid passing NULL to memory allocators ASoC: sh: Avoid passing NULL to memory allocators ALSA: core: Don't allow NULL device for memory allocation ALSA: info: Always register entries recursively ALSA: atmel: Drop superfluous PCM preallocation error checks ALSA: parisc: Drop superfluous PCM preallocation error checks ALSA: pci: Drop superfluous PCM preallocation error checks ALSA: ppc: Drop superfluous PCM preallocation error checks ALSA: sh: Drop superfluous PCM preallocation error checks ALSA: sparc: Drop superfluous PCM preallocation error checks ALSA: spi: Drop superfluous PCM preallocation error checks ALSA: usb: Drop superfluous PCM preallocation error checks ALSA: firewire: Remove superfluous snd_info_register() calls ALSA: opl4: Remove superfluous snd_info_register() calls ALSA: emux: Remove superfluous snd_info_register() calls ALSA: pcm: Remove superfluous snd_info_register() calls ALSA: compress: Remove superfluous snd_info_register() calls ALSA: pci: Remove superfluous snd_info_register() calls ALSA: info: Add standard helpers for card proc file entries ALSA: drivers: Clean up with new procfs helpers ALSA: isa: Clean up with new procfs helpers ALSA: i2c: Clean up with new procfs helpers ALSA: pci: Clean up with new procfs helpers ALSA: pcmcia: Clean up with new procfs helpers ALSA: sparc: Clean up with new procfs helpers ALSA: usb: Clean up with new procfs helpers ALSA: info: Drop unused snd_info_entry.card field ALSA: info: Minor optimization ALSA: info: Move card id proc creation into info.c ALSA: cs46xx: Clean up proc file creations ASoC: amd: Drop superfluous PCM preallocation error checks ASoC: dwc: Drop superfluous PCM preallocation error checks ASoC: intel: Drop superfluous PCM preallocation error checks ASoC: mediatek: Drop superfluous PCM preallocation error checks ASoC: meson: Drop superfluous PCM preallocation error checks ASoC: sh: Drop superfluous PCM preallocation error checks ASoC: stm: Drop superfluous PCM preallocation error checks ASoC: txx9: Drop superfluous PCM preallocation error checks ASoC: uniphier: Drop superfluous PCM preallocation error checks ASoC: xtensa: Drop superfluous PCM preallocation error checks ASoC: dmaengine: Drop superfluous PCM preallocation error checks media: Drop superfluous PCM preallocation error checks ALSA: pcm: Define snd_pcm_lib_preallocate_*() as returning void ALSA: ac97: Fix of-node refcount unbalance ALSA: aoa: Fix of-node refcount unbalance ALSA: ppc: Fix of-node refcount unbalance ALSA: hda/realtek - Fix a typo in model documentation ALSA: hda/realtek - Add model description for Chrome headset button quirk ASoC: fsl: Fix of-node refcount unbalance in fsl_ssi_probe_from_dt() ASoC: simple-card: Fix missing of_node_put() at simple_dai_link_of() ASoC: simple-card: Fix of-node refcount unbalance in DAI-link parser ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() ASoC: qcom: Fix of-node refcount unbalance in qcom_snd_parse_of() ALSA: hda: Extend i915 component bind timeout Takashi Sakamoto (19): ALSA: fireface: rename protocol layer for former models ALSA: fireface: unify protocol layer for FF400/FF800 ALSA: fireface: obsolete proc node to leave one node ALSA: fireface: add protocol-dependent operation to dump status ALSA: fireface: add protocol-dependent operation to switch mode to fetch PCM frame ALSA: fireface: add protocol-dependent operation to get clock status ALSA: fireface: code refactoring for dump of sync status ALSA: fireface: code refactoring to parse of clock configuration ALSA: fireface: add support for Fireface UCX ALSA: fireface: change prototype of handler for async transaction with MIDI messages ALSA: fireface: add model-dependent parameter for address range to receive async transaction ALSA: fireface: support tx MIDI functionality of Fireface UCX ALSA: fireface: add model-dependent parameter for address to receive async transaction for MIDI messages ALSA: fireface: add protocol-specific operation to fill transaction buffer with MIDI messages ALSA: fireface: support rx MIDI functionality for Fireface UCX ALSA: fireface: comment cleanup about destination address of async transactions for MIDI messages ALSA: dice: add support for Solid State Logic Duende Classic/Mini ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against Liquid Saffire 56 ALSA: firewire-motu: fix construction of PCM frame for capture direction Tom Yan (2): ALSA: virtuoso: add de-emphasis control ALSA: oxygen: initialize spdif_playback_enable to 0 Viorel Suman (2): ASoC: fsl_spdif: fix TXCLK_DF mask ASoC: fsl_spdif: fix sysclk_df type Wei Yongjun (5): ASoC: Intel: bytcht_es8316: use correct drvdata in snd_byt_cht_es8316_mc_remove() ASoC: mediatek: mt8183: make some functions static ASoC: cros_ec_codec: Make symbol 'cros_ec_dai' static ASoC: cs35l36: Make some symbols static ASoC: wm8741: Make function 'wm8741_mute' static Wen Yang (2): ASoC: stm32: sai: add missing put_device() SoC: imx-sgtl5000: add missing put_device() Yizhuo (2): ASoC: rt274: Variable "buf" in function rt274_jack_detect() could be uninitialized ASoC: rt5651: Variable "ret" in function rt5651_i2c_probe() could be uninitialized Yong Zhi (3): ASoC: Intel: Headset button support in broxton machine driver ASoC: Intel: Add Geminilake Dialog Maxim machine driver ASoC: Intel: glk: Add DAI links for Multi-Playback YueHaibing (5): ASoC: rockchip: fix platform_no_drv_owner.cocci warnings ALSA: usb-audio: Remove set but not used variable 'first_ch_bits' ASoC: cs35l36: Remove unused including <linux/version.h> ALSA: es1688: Remove set but not used variable 'hw' ASoC: stm32: sai: remove set but not used variables 'mask, cr1' Zhiwei Jiang (1): ASoC: dapm: Add warnings for widget overwrite when adding route b-ak (1): ASoC: tlv320aic32x4: SND_SOC_DAPM_MICBIAS is deprecated kbuild test robot (1): ASoC: wcd9335: fix semicolon.cocci warnings wen yang (1): ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe --- .../devicetree/bindings/sound/adi,adau1977.txt | 13 +- Documentation/devicetree/bindings/sound/ak4458.txt | 2 +- .../bindings/sound/audio-graph-scu-card.txt | 123 - .../devicetree/bindings/sound/cs35l36.txt | 168 + Documentation/devicetree/bindings/sound/cs4341.txt | 22 + .../bindings/sound/davinci-mcasp-audio.txt | 17 + .../devicetree/bindings/sound/fsl,micfil.txt | 32 + .../bindings/sound/google,cros-ec-codec.txt | 26 + .../bindings/sound/ingenic,jz4725b-codec.txt | 20 + .../bindings/sound/ingenic,jz4740-codec.txt | 20 + Documentation/devicetree/bindings/sound/mt6358.txt | 18 + .../devicetree/bindings/sound/mt8183-afe-pcm.txt | 36 + .../devicetree/bindings/sound/mtk-btcvsd-snd.txt | 24 + .../bindings/sound/nvidia,tegra30-hda.txt | 5 + .../bindings/sound/qcom,msm8916-wcd-analog.txt | 7 +- .../devicetree/bindings/sound/qcom,wcd9335.txt | 10 +- .../bindings/sound/rockchip,rk3328-codec.txt | 23 + .../devicetree/bindings/sound/sgtl5000.txt | 9 + .../devicetree/bindings/sound/simple-scu-card.txt | 94 - .../devicetree/bindings/sound/sprd-pcm.txt | 23 + .../bindings/sound/xlnx,audio-formatter.txt | 29 + .../devicetree/bindings/sound/xlnx,spdif.txt | 28 + Documentation/sound/hd-audio/models.rst | 4 +- .../sound/kernel-api/writing-an-alsa-driver.rst | 35 +- Documentation/sound/soc/dpcm.rst | 10 +- MAINTAINERS | 8 + arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1 + arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts | 1 + arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi | 1 + drivers/gpio/gpiolib-acpi.c | 15 +- .../gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 1 - drivers/media/pci/solo6x10/solo6x10-g723.c | 4 +- drivers/media/pci/tw686x/tw686x-audio.c | 3 +- include/linux/acpi.h | 7 + include/sound/core.h | 1 - include/sound/cs35l36.h | 43 + include/sound/dmaengine_pcm.h | 4 - include/sound/hda_register.h | 2 + include/sound/hda_verbs.h | 2 + include/sound/hdaudio.h | 3 + include/sound/info.h | 36 +- include/sound/memalloc.h | 1 - include/sound/pcm.h | 29 +- include/sound/simple_card_utils.h | 4 +- include/sound/soc-acpi.h | 33 +- include/sound/soc-dapm.h | 27 +- include/sound/soc-topology.h | 8 +- include/sound/soc.h | 73 +- sound/ac97/bus.c | 2 +- sound/aoa/core/gpio-feature.c | 1 + sound/aoa/soundbus/i2sbus/core.c | 4 - sound/arm/aaci.c | 4 +- sound/arm/pxa2xx-ac97.c | 1 - sound/atmel/ac97c.c | 4 +- sound/core/compress_offload.c | 11 +- sound/core/info.c | 131 +- sound/core/init.c | 31 +- sound/core/memalloc.c | 2 + sound/core/oss/pcm_oss.c | 1 - sound/core/pcm.c | 163 +- sound/core/pcm_lib.c | 9 +- sound/core/pcm_local.h | 1 + sound/core/pcm_memory.c | 62 +- sound/core/pcm_native.c | 315 +- sound/drivers/aloop.c | 14 +- sound/drivers/dummy.c | 12 +- sound/drivers/opl4/opl4_proc.c | 4 - sound/drivers/pcsp/pcsp.c | 1 - sound/drivers/vx/vx_core.c | 9 +- sound/firewire/Kconfig | 1 + sound/firewire/bebob/bebob.c | 14 +- sound/firewire/bebob/bebob_proc.c | 12 +- sound/firewire/dice/dice-proc.c | 12 +- sound/firewire/dice/dice.c | 12 +- sound/firewire/digi00x/digi00x-proc.c | 16 +- sound/firewire/fireface/Makefile | 4 +- sound/firewire/fireface/ff-midi.c | 2 +- sound/firewire/fireface/ff-pcm.c | 2 +- sound/firewire/fireface/ff-proc.c | 229 +- sound/firewire/fireface/ff-protocol-ff400.c | 161 - sound/firewire/fireface/ff-protocol-ff800.c | 143 - sound/firewire/fireface/ff-protocol-former.c | 597 +++ sound/firewire/fireface/ff-protocol-latter.c | 430 ++ sound/firewire/fireface/ff-stream.c | 40 +- sound/firewire/fireface/ff-transaction.c | 143 +- sound/firewire/fireface/ff.c | 28 + sound/firewire/fireface/ff.h | 23 +- sound/firewire/fireworks/fireworks_proc.c | 12 +- sound/firewire/motu/amdtp-motu.c | 4 +- sound/firewire/motu/motu-proc.c | 12 +- sound/firewire/oxfw/oxfw-proc.c | 12 +- sound/firewire/tascam/tascam-proc.c | 12 +- sound/hda/hdac_controller.c | 8 +- sound/hda/hdac_i915.c | 4 +- sound/hda/hdac_stream.c | 44 +- sound/i2c/other/ak4113.c | 5 +- sound/i2c/other/ak4114.c | 5 +- sound/i2c/other/ak4xxx-adda.c | 8 +- sound/isa/ad1816a/ad1816a_lib.c | 3 +- sound/isa/als100.c | 1 - sound/isa/cmi8328.c | 1 - sound/isa/cmi8330.c | 3 +- sound/isa/es1688/es1688.c | 2 - sound/isa/es1688/es1688_lib.c | 6 +- sound/isa/es18xx.c | 4 +- sound/isa/gus/gus_irq.c | 5 +- sound/isa/gus/gus_main.c | 13 +- sound/isa/gus/gus_mem.c | 6 +- sound/isa/gus/gus_pcm.c | 4 +- sound/isa/opti9xx/miro.c | 5 +- sound/isa/sb/jazz16.c | 1 - sound/isa/sb/sb16.c | 1 - sound/isa/sb/sb16_csp.c | 5 +- sound/isa/sb/sb16_main.c | 12 +- sound/isa/sb/sb8.c | 1 - sound/isa/sb/sb8_main.c | 2 +- sound/isa/sscape.c | 7 +- sound/isa/wss/wss_lib.c | 3 +- sound/mips/hal2.c | 31 +- sound/mips/sgio2audio.c | 7 +- sound/parisc/harmony.c | 10 +- sound/pci/ac97/ac97_proc.c | 26 +- sound/pci/ad1889.c | 13 +- sound/pci/ak4531_codec.c | 5 +- sound/pci/ali5451/ali5451.c | 8 +- sound/pci/als300.c | 1 - sound/pci/als4000.c | 1 - sound/pci/asihpi/asihpi.c | 6 +- sound/pci/atiixp.c | 24 +- sound/pci/atiixp_modem.c | 8 +- sound/pci/aw2/aw2-alsa.c | 40 +- sound/pci/azt3328.c | 4 - sound/pci/bt87x.c | 10 +- sound/pci/ca0106/ca0106_main.c | 19 +- sound/pci/ca0106/ca0106_proc.c | 40 +- sound/pci/cmipci.c | 9 +- sound/pci/cs4281.c | 5 +- sound/pci/cs46xx/cs46xx_dsp_spos.h | 6 - sound/pci/cs46xx/cs46xx_lib.c | 6 - sound/pci/cs46xx/dsp_spos.c | 133 +- sound/pci/cs46xx/dsp_spos_scb_lib.c | 19 +- sound/pci/cs5535audio/cs5535audio_pm.c | 1 - sound/pci/ctxfi/ctatc.c | 8 - sound/pci/echoaudio/echoaudio.c | 19 +- sound/pci/emu10k1/emu10k1.c | 6 - sound/pci/emu10k1/emu10k1x.c | 12 +- sound/pci/emu10k1/emupcm.c | 22 +- sound/pci/emu10k1/emuproc.c | 81 +- sound/pci/emu10k1/p16v.c | 17 +- sound/pci/ens1370.c | 9 +- sound/pci/es1938.c | 1 - sound/pci/es1968.c | 1 - sound/pci/fm801.c | 1 - sound/pci/hda/hda_beep.c | 151 +- sound/pci/hda/hda_beep.h | 5 - sound/pci/hda/hda_codec.c | 56 +- sound/pci/hda/hda_proc.c | 9 +- sound/pci/hda/hda_tegra.c | 132 +- sound/pci/hda/patch_hdmi.c | 10 +- sound/pci/hda/patch_realtek.c | 66 +- sound/pci/ice1712/ews.c | 7 +- sound/pci/ice1712/ice1712.c | 8 +- sound/pci/ice1712/ice1724.c | 8 +- sound/pci/ice1712/pontis.c | 12 +- sound/pci/ice1712/prodigy192.c | 5 +- sound/pci/ice1712/prodigy_hifi.c | 8 +- sound/pci/ice1712/quartet.c | 4 +- sound/pci/intel8x0.c | 8 +- sound/pci/intel8x0m.c | 9 +- sound/pci/korg1212/korg1212.c | 6 +- sound/pci/lola/lola_proc.c | 16 +- sound/pci/lx6464es/lx6464es.c | 16 +- sound/pci/maestro3.c | 1 - sound/pci/mixart/mixart.c | 6 +- sound/pci/nm256/nm256.c | 1 - sound/pci/oxygen/oxygen_lib.c | 12 +- sound/pci/oxygen/pcm1796.h | 1 - sound/pci/oxygen/xonar_pcm179x.c | 71 +- sound/pci/pcxhr/pcxhr.c | 21 +- sound/pci/riptide/riptide.c | 7 +- sound/pci/rme32.c | 5 +- sound/pci/rme96.c | 7 +- sound/pci/rme9652/hdsp.c | 5 +- sound/pci/rme9652/hdspm.c | 75 +- sound/pci/rme9652/rme9652.c | 6 +- sound/pci/sis7019.c | 1 - sound/pci/sonicvibes.c | 6 +- sound/pci/trident/trident_main.c | 8 +- sound/pci/via82xx.c | 8 +- sound/pci/via82xx_modem.c | 16 +- sound/pci/ymfpci/ymfpci_main.c | 10 +- sound/pcmcia/pdaudiocf/pdaudiocf_core.c | 6 +- sound/ppc/pmac.c | 1 - sound/ppc/snd_ps3.c | 6 +- sound/ppc/tumbler.c | 1 + sound/sh/aica.c | 14 +- sound/soc/Kconfig | 1 + sound/soc/Makefile | 1 + sound/soc/amd/acp-pcm-dma.c | 26 +- sound/soc/amd/raven/acp3x-pcm-dma.c | 8 +- sound/soc/codecs/Kconfig | 67 +- sound/soc/codecs/Makefile | 14 + sound/soc/codecs/ad193x.c | 76 +- sound/soc/codecs/ad193x.h | 8 + sound/soc/codecs/adau1977.c | 12 +- sound/soc/codecs/adau7002.c | 45 + sound/soc/codecs/ak4118.c | 1 + sound/soc/codecs/ak4458.c | 79 +- sound/soc/codecs/cros_ec_codec.c | 441 ++ sound/soc/codecs/cs35l36.c | 1957 ++++++++ sound/soc/codecs/cs35l36.h | 446 ++ sound/soc/codecs/cs4271.c | 4 +- sound/soc/codecs/cs4341.c | 346 ++ sound/soc/codecs/cs47l24.c | 52 +- sound/soc/codecs/da7219-aad.c | 2 +- sound/soc/codecs/da7219.c | 197 +- sound/soc/codecs/da7219.h | 2 + sound/soc/codecs/dmic.c | 4 +- sound/soc/codecs/es8316.c | 200 +- sound/soc/codecs/es8316.h | 7 + sound/soc/codecs/hdac_hdmi.c | 87 +- sound/soc/codecs/jz4725b.c | 598 +++ sound/soc/codecs/jz4740.c | 26 +- sound/soc/codecs/max98090.c | 15 - sound/soc/codecs/max98373.c | 6 +- sound/soc/codecs/max9860.c | 3 +- sound/soc/codecs/max98927.c | 8 +- sound/soc/codecs/msm8916-wcd-analog.c | 3 + sound/soc/codecs/msm8916-wcd-digital.c | 23 +- sound/soc/codecs/mt6351.c | 4 +- sound/soc/codecs/mt6358.c | 2336 +++++++++ sound/soc/codecs/mt6358.h | 2314 +++++++++ sound/soc/codecs/nau8824.c | 2 +- sound/soc/codecs/nau8825.c | 1 + sound/soc/codecs/pcm186x.c | 8 +- sound/soc/codecs/pcm3060.c | 35 + sound/soc/codecs/pcm3060.h | 5 + sound/soc/codecs/pcm512x.c | 37 +- sound/soc/codecs/rk3328_codec.c | 519 ++ sound/soc/codecs/rk3328_codec.h | 210 + sound/soc/codecs/rl6347a.c | 4 +- sound/soc/codecs/rt274.c | 19 +- sound/soc/codecs/rt286.c | 8 +- sound/soc/codecs/rt298.c | 12 +- sound/soc/codecs/rt5514.c | 1 + sound/soc/codecs/rt5640.c | 6 +- sound/soc/codecs/rt5645.c | 66 +- sound/soc/codecs/rt5651.c | 67 +- sound/soc/codecs/rt5651.h | 1 + sound/soc/codecs/rt5670.c | 54 - sound/soc/codecs/rt5677.c | 8 +- sound/soc/codecs/rt5682.c | 8 + sound/soc/codecs/sgtl5000.c | 19 +- sound/soc/codecs/ssm2602.c | 71 +- sound/soc/codecs/tlv320aic31xx.c | 16 +- sound/soc/codecs/tlv320aic32x4.c | 31 +- sound/soc/codecs/tlv320aic32x4.h | 1 + sound/soc/codecs/tlv320aic3x.c | 25 +- sound/soc/codecs/tscs42xx.c | 2 +- sound/soc/codecs/wcd-clsh-v2.c | 576 +++ sound/soc/codecs/wcd-clsh-v2.h | 49 + sound/soc/codecs/wcd9335.c | 5244 ++++++++++++++++++++ sound/soc/codecs/wcd9335.h | 640 +++ sound/soc/codecs/wm5102.c | 64 +- sound/soc/codecs/wm5110.c | 80 +- sound/soc/codecs/wm8741.c | 22 +- sound/soc/codecs/wm8770.c | 18 +- sound/soc/codecs/wm8904.c | 21 +- sound/soc/codecs/wm8962.c | 9 +- sound/soc/codecs/wm8995.c | 29 +- sound/soc/codecs/wm8996.c | 9 +- sound/soc/codecs/wm8997.c | 60 +- sound/soc/codecs/wm8998.c | 60 +- sound/soc/codecs/wm_adsp.c | 498 +- sound/soc/codecs/wm_adsp.h | 4 +- sound/soc/dwc/dwc-pcm.c | 3 +- sound/soc/fsl/Kconfig | 9 + sound/soc/fsl/Makefile | 2 + sound/soc/fsl/fsl-asoc-card.c | 1 + sound/soc/fsl/fsl_esai.c | 7 +- sound/soc/fsl/fsl_micfil.c | 826 +++ sound/soc/fsl/fsl_micfil.h | 283 ++ sound/soc/fsl/fsl_sai.c | 8 +- sound/soc/fsl/fsl_spdif.c | 12 +- sound/soc/fsl/fsl_spdif.h | 2 +- sound/soc/fsl/fsl_ssi.c | 6 +- sound/soc/fsl/imx-sgtl5000.c | 12 +- sound/soc/fsl/imx-spdif.c | 4 +- sound/soc/generic/Kconfig | 17 - sound/soc/generic/Makefile | 4 - sound/soc/generic/audio-graph-card.c | 481 +- sound/soc/generic/audio-graph-scu-card.c | 501 -- sound/soc/generic/simple-card-utils.c | 25 +- sound/soc/generic/simple-card.c | 479 +- sound/soc/generic/simple-scu-card.c | 474 -- sound/soc/intel/atom/sst-atom-controls.c | 2 +- sound/soc/intel/atom/sst-mfld-platform-pcm.c | 11 +- sound/soc/intel/atom/sst/sst_acpi.c | 45 +- sound/soc/intel/atom/sst/sst_drv_interface.c | 2 +- sound/soc/intel/atom/sst/sst_loader.c | 2 +- sound/soc/intel/baytrail/sst-baytrail-ipc.c | 3 +- sound/soc/intel/baytrail/sst-baytrail-pcm.c | 17 +- sound/soc/intel/boards/Kconfig | 1 + sound/soc/intel/boards/bdw-rt5677.c | 14 + sound/soc/intel/boards/broadwell.c | 16 + sound/soc/intel/boards/bxt_da7219_max98357a.c | 114 +- sound/soc/intel/boards/bxt_rt298.c | 13 + sound/soc/intel/boards/bytcht_da7213.c | 8 + sound/soc/intel/boards/bytcht_es8316.c | 336 +- sound/soc/intel/boards/bytcr_rt5640.c | 23 +- sound/soc/intel/boards/bytcr_rt5651.c | 180 +- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 12 + sound/soc/intel/boards/cht_bsw_nau8824.c | 12 + sound/soc/intel/boards/cht_bsw_rt5645.c | 9 + sound/soc/intel/boards/cht_bsw_rt5672.c | 30 +- sound/soc/intel/boards/glk_rt5682_max98357a.c | 23 +- sound/soc/intel/boards/haswell.c | 15 + sound/soc/intel/boards/kbl_da7219_max98927.c | 207 +- sound/soc/intel/common/soc-acpi-intel-bxt-match.c | 25 +- sound/soc/intel/common/soc-acpi-intel-byt-match.c | 92 +- sound/soc/intel/common/soc-acpi-intel-cht-match.c | 70 +- sound/soc/intel/common/soc-acpi-intel-cnl-match.c | 5 +- sound/soc/intel/common/soc-acpi-intel-glk-match.c | 10 +- sound/soc/intel/common/soc-acpi-intel-hda-match.c | 2 +- .../intel/common/soc-acpi-intel-hsw-bdw-match.c | 20 +- sound/soc/intel/common/soc-acpi-intel-icl-match.c | 5 +- sound/soc/intel/common/soc-acpi-intel-kbl-match.c | 19 + sound/soc/intel/haswell/sst-haswell-ipc.c | 2 +- sound/soc/intel/haswell/sst-haswell-pcm.c | 14 +- sound/soc/intel/skylake/skl-messages.c | 2 +- sound/soc/intel/skylake/skl-pcm.c | 12 +- sound/soc/intel/skylake/skl-topology.c | 2 +- sound/soc/mediatek/Kconfig | 19 + sound/soc/mediatek/Makefile | 1 + sound/soc/mediatek/common/Makefile | 2 + .../soc/mediatek/common/mtk-afe-platform-driver.c | 6 +- sound/soc/mediatek/common/mtk-btcvsd.c | 1364 +++++ sound/soc/mediatek/mt8183/Makefile | 13 + sound/soc/mediatek/mt8183/mt8183-afe-clk.c | 611 +++ sound/soc/mediatek/mt8183/mt8183-afe-clk.h | 38 + sound/soc/mediatek/mt8183/mt8183-afe-common.h | 108 + sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 1237 +++++ sound/soc/mediatek/mt8183/mt8183-dai-adda.c | 501 ++ sound/soc/mediatek/mt8183/mt8183-dai-hostless.c | 118 + sound/soc/mediatek/mt8183/mt8183-dai-i2s.c | 1040 ++++ sound/soc/mediatek/mt8183/mt8183-dai-pcm.c | 318 ++ sound/soc/mediatek/mt8183/mt8183-dai-tdm.c | 639 +++ sound/soc/mediatek/mt8183/mt8183-interconnection.h | 33 + sound/soc/mediatek/mt8183/mt8183-reg.h | 1666 +++++++ sound/soc/meson/axg-fifo.c | 7 +- sound/soc/pxa/Makefile | 1 - sound/soc/qcom/Kconfig | 4 +- sound/soc/qcom/apq8016_sbc.c | 21 +- sound/soc/qcom/apq8096.c | 71 +- sound/soc/qcom/common.c | 10 +- sound/soc/qcom/sdm845.c | 2 + sound/soc/samsung/dma.h | 3 +- sound/soc/samsung/dmaengine.c | 16 +- sound/soc/samsung/i2s.c | 731 +-- sound/soc/samsung/odroid.c | 206 +- sound/soc/samsung/pcm.c | 2 +- sound/soc/samsung/s3c2412-i2s.c | 2 +- sound/soc/samsung/s3c24xx-i2s.c | 2 +- sound/soc/samsung/spdif.c | 2 +- sound/soc/sh/fsi.c | 5 +- sound/soc/sh/rcar/core.c | 45 +- sound/soc/sh/rcar/gen.c | 24 + sound/soc/sh/rcar/rsnd.h | 27 + sound/soc/sh/rcar/src.c | 125 +- sound/soc/sh/rcar/ssiu.c | 24 +- sound/soc/sh/siu_pcm.c | 15 +- sound/soc/soc-compress.c | 177 +- sound/soc/soc-core.c | 262 +- sound/soc/soc-dapm.c | 271 +- sound/soc/soc-generic-dmaengine-pcm.c | 18 +- sound/soc/soc-pcm.c | 5 + sound/soc/soc-topology.c | 166 +- sound/soc/sprd/Kconfig | 6 + sound/soc/sprd/Makefile | 4 + sound/soc/sprd/sprd-pcm-dma.c | 562 +++ sound/soc/sprd/sprd-pcm-dma.h | 15 + sound/soc/stm/stm32_adfsdm.c | 5 +- sound/soc/stm/stm32_i2s.c | 136 +- sound/soc/stm/stm32_sai.c | 11 +- sound/soc/stm/stm32_sai_sub.c | 8 +- sound/soc/sunxi/sun4i-codec.c | 149 +- sound/soc/sunxi/sun50i-codec-analog.c | 4 +- sound/soc/ti/davinci-mcasp.c | 175 +- sound/soc/txx9/txx9aclc.c | 4 +- sound/soc/uniphier/aio-dma.c | 3 +- sound/soc/xilinx/Kconfig | 14 + sound/soc/xilinx/Makefile | 4 + sound/soc/xilinx/xlnx_formatter_pcm.c | 709 +++ sound/soc/xilinx/xlnx_spdif.c | 339 ++ sound/soc/xtensa/xtfpga-i2s.c | 6 +- sound/sparc/dbri.c | 19 +- sound/spi/at73c213.c | 2 +- sound/synth/emux/emux_proc.c | 4 - sound/usb/card.c | 1 - sound/usb/card.h | 1 + sound/usb/format.c | 2 + sound/usb/line6/driver.c | 4 +- sound/usb/line6/pod.c | 3 +- sound/usb/mixer.c | 13 +- sound/usb/mixer_quirks.c | 6 +- sound/usb/pcm.c | 4 + sound/usb/proc.c | 14 +- sound/usb/quirks-table.h | 65 + sound/usb/quirks.c | 119 +- sound/usb/usx2y/usbusx2yaudio.c | 21 +- sound/usb/usx2y/usx2yhwdeppcm.c | 19 +- sound/x86/intel_hdmi_audio.c | 15 +- 412 files changed, 34393 insertions(+), 6007 deletions(-) delete mode 100644 Documentation/devicetree/bindings/sound/audio-graph-scu-card.txt create mode 100644 Documentation/devicetree/bindings/sound/cs35l36.txt create mode 100644 Documentation/devicetree/bindings/sound/cs4341.txt create mode 100644 Documentation/devicetree/bindings/sound/fsl,micfil.txt create mode 100644 Documentation/devicetree/bindings/sound/google,cros-ec-codec.txt create mode 100644 Documentation/devicetree/bindings/sound/ingenic,jz4725b-codec.txt create mode 100644 Documentation/devicetree/bindings/sound/ingenic,jz4740-codec.txt create mode 100644 Documentation/devicetree/bindings/sound/mt6358.txt create mode 100644 Documentation/devicetree/bindings/sound/mt8183-afe-pcm.txt create mode 100644 Documentation/devicetree/bindings/sound/mtk-btcvsd-snd.txt create mode 100644 Documentation/devicetree/bindings/sound/rockchip,rk3328-codec.txt delete mode 100644 Documentation/devicetree/bindings/sound/simple-scu-card.txt create mode 100644 Documentation/devicetree/bindings/sound/sprd-pcm.txt create mode 100644 Documentation/devicetree/bindings/sound/xlnx,audio-formatter.txt create mode 100644 Documentation/devicetree/bindings/sound/xlnx,spdif.txt create mode 100644 include/sound/cs35l36.h delete mode 100644 sound/firewire/fireface/ff-protocol-ff400.c delete mode 100644 sound/firewire/fireface/ff-protocol-ff800.c create mode 100644 sound/firewire/fireface/ff-protocol-former.c create mode 100644 sound/firewire/fireface/ff-protocol-latter.c create mode 100644 sound/soc/codecs/cros_ec_codec.c create mode 100644 sound/soc/codecs/cs35l36.c create mode 100644 sound/soc/codecs/cs35l36.h create mode 100644 sound/soc/codecs/cs4341.c create mode 100644 sound/soc/codecs/jz4725b.c create mode 100644 sound/soc/codecs/mt6358.c create mode 100644 sound/soc/codecs/mt6358.h create mode 100644 sound/soc/codecs/rk3328_codec.c create mode 100644 sound/soc/codecs/rk3328_codec.h create mode 100644 sound/soc/codecs/wcd-clsh-v2.c create mode 100644 sound/soc/codecs/wcd-clsh-v2.h create mode 100644 sound/soc/codecs/wcd9335.c create mode 100644 sound/soc/codecs/wcd9335.h create mode 100644 sound/soc/fsl/fsl_micfil.c create mode 100644 sound/soc/fsl/fsl_micfil.h delete mode 100644 sound/soc/generic/audio-graph-scu-card.c delete mode 100644 sound/soc/generic/simple-scu-card.c create mode 100644 sound/soc/mediatek/common/mtk-btcvsd.c create mode 100644 sound/soc/mediatek/mt8183/Makefile create mode 100644 sound/soc/mediatek/mt8183/mt8183-afe-clk.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-afe-clk.h create mode 100644 sound/soc/mediatek/mt8183/mt8183-afe-common.h create mode 100644 sound/soc/mediatek/mt8183/mt8183-afe-pcm.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-dai-adda.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-dai-hostless.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-dai-i2s.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-dai-pcm.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-dai-tdm.c create mode 100644 sound/soc/mediatek/mt8183/mt8183-interconnection.h create mode 100644 sound/soc/mediatek/mt8183/mt8183-reg.h create mode 100644 sound/soc/sprd/Kconfig create mode 100644 sound/soc/sprd/Makefile create mode 100644 sound/soc/sprd/sprd-pcm-dma.c create mode 100644 sound/soc/sprd/sprd-pcm-dma.h create mode 100644 sound/soc/xilinx/xlnx_formatter_pcm.c create mode 100644 sound/soc/xilinx/xlnx_spdif.c