Alsa-devel
  Threads by month 
                
            - ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2023
- 148 participants
- 279 discussions
                    
                        Introduce snd_pcm_lib_frames_to_timespec64() to replace the calculation
	audio_nsecs = div_u64(audio_frames * 1000000000LL,
				runtime->rate);
which overflows after a playback duration of 4.8 days @ 44100 HZ or 0.56
days @ 384000 Hz.
The implementation of snd_pcm_lib_frames_to_timespec64() extends these
limits, to 1.5 million years (@ 384000 Hz), or the 68 year limit of
struct timespec on 32-bit systems.
Fixes: 3179f6200188 ("ALSA: core: add .get_time_info")
Fixes: 4eeaaeaea1ce ("ALSA: core: add hooks for audio timestamps")
Signed-off-by: consult.awy(a)gmail.com
---
 sound/core/pcm_lib.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c
index 943f5396fc60..e0a6556d33ee 100644
--- a/sound/core/pcm_lib.c
+++ b/sound/core/pcm_lib.c
@@ -205,12 +205,19 @@ int snd_pcm_update_state(struct snd_pcm_substream *substream,
 	return 0;
 }
 
+static inline void snd_pcm_lib_frames_to_timespec64(u64 frames, unsigned int rate, struct timespec64 *audio_tstamp)
+{
+	u32 remainder;
+	audio_tstamp->tv_sec = div_u64_rem(frames, rate, &remainder);
+	audio_tstamp->tv_nsec = div_u64(mul_u32_u32(remainder, NSEC_PER_SEC), rate);
+}
+
 static void update_audio_tstamp(struct snd_pcm_substream *substream,
 				struct timespec64 *curr_tstamp,
 				struct timespec64 *audio_tstamp)
 {
 	struct snd_pcm_runtime *runtime = substream->runtime;
-	u64 audio_frames, audio_nsecs;
+	u64 audio_frames;
 	struct timespec64 driver_tstamp;
 
 	if (runtime->tstamp_mode != SNDRV_PCM_TSTAMP_ENABLE)
@@ -233,9 +240,7 @@ static void update_audio_tstamp(struct snd_pcm_substream *substream,
 			else
 				audio_frames +=  runtime->delay;
 		}
-		audio_nsecs = div_u64(audio_frames * 1000000000LL,
-				runtime->rate);
-		*audio_tstamp = ns_to_timespec64(audio_nsecs);
+		snd_pcm_lib_frames_to_timespec64(audio_frames, runtime->rate, audio_tstamp);
 	}
 
 	if (runtime->status->audio_tstamp.tv_sec != audio_tstamp->tv_sec ||
-- 
2.31.1
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                    
                        The following changes since commit c1619ea22d9509cfbcf5c2c1cc65563179e9dc8e:
  ASoC: SOF: sof-audio: Fixes for widget prepare and (2023-01-18 15:28:17 +0000)
are available in the Git repository at:
  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-v6.3
for you to fetch changes up to 76f5aaabce492aa6991c28c96bb78b00b05d06c5:
  ASoC: soc-ac97: Return correct error codes (2023-02-15 16:09:07 +0000)
----------------------------------------------------------------
ASoC: Updates for v6.3
There's been quite a lot of activity this release, but not really
one big feature - lots of new devices, plus a lot of cleanup and
modernisation work spread throughout the subsystem:
 - More factoring out of common operations into helper functions
   by Morimoto-san.
 - DT schema conversons and stylistic nits.
 - Continued work on building out the new SOF IPC4 scheme.
 - Support for Awinc AT88395, Infineon PEB2466, Iron Device
   SMA1303, Mediatek MT8188, Realtek RT712, Renesas IDT821034,
   Samsung/Tesla FSD SoC I2S, and TI TAS5720A-Q1.
----------------------------------------------------------------
Ajye Huang (2):
      ASoC: mediatek: mt8186-rt5682: primary_codec_init() warn: missing error code? 'ret'
      ASoC: nau8315: remove dependency on GPIOLIB
Alexander Stein (2):
      ASoC: fsl_sai: Use dev_err_probe
      ASoC: imx-hdmi: Use dev_err_probe
Alexander Sverdlin (1):
      ASoC: ep93xx: ignore 0 Hz sysclk
Alexandru Ardelean (1):
      ASoC: codecs: tas5720: split a tas5720_mute_soc_component() function
Amadeusz Sławiński (18):
      ASoC: Intel: avs: Add peakvol runtime-parameter requests
      ASoC: Intel: avs: Add control volume operations
      ASoC: Intel: avs: Parse control tuples
      ASoC: Intel: avs: Peakvol module configuration
      ASoC: Intel: avs: Correctly access topology fields
      ASoC: Intel: avs: Use min_t instead of min with cast
      ASoC: topology: Properly access value coming from topology file
      ASoC: topology: Remove unused SOC_TPLG_PASS_PINS constant
      ASoC: topology: Fix typo in functions name
      ASoC: topology: Fix function name
      ASoC: topology: Rename remove_ handlers
      ASoC: topology: Remove unnecessary forward declarations
      ASoC: topology: Pass correct pointer instead of casting
      ASoC: topology: Return an error on complete() failure
      ASoC: topology: Remove unnecessary check for EOF
      ASoC: topology: Unify kcontrol removal code
      ASoC: topology: Use unload() op directly
      ASoC: Intel: Skylake: Fix struct definition
Andy Shevchenko (7):
      ASoC: Intel: bytcht_cx2072x: Replace open coded acpi_dev_put()
      ASoC: Intel: bytcht_da7213: Replace open coded acpi_dev_put()
      ASoC: Intel: cht_bsw_rt5645: Replace open coded acpi_dev_put()
      ASoC: Intel: cht_bsw_rt5672: Replace open coded acpi_dev_put()
      ASoC: Intel: sof-wm8804: Replace open coded acpi_dev_put()
      ASoC: soc-ac97: Convert to agnostic GPIO API
      ASoC: soc-ac97: Return correct error codes
Arnd Bergmann (4):
      ASoC: PXA: make SND_PXA2XX_SOC_AC97 user-selectable
      ASoC: ux500: remove platform_data support
      ASoC: ux500: remove stedma40 references
      ASoC: SOF: fix intel-soundwire link failure
Astrid Rost (3):
      ASoC: soc-component: add get_jack_type
      ASoC: simple-card-utils: create jack inputs for aux_devs
      ASoC: ts3a227e: add set_jack and get_jack_type
Bard Liao (3):
      ASoC: SOF: ipc4-topology: add buffer type support
      ASoC: SOF: ipc4-topology: use different channel mask for each sdw amp feedback
      ASoC: SOF: ipc4-topology: set copier sink format
Brent Lu (1):
      ASoC: Intel: sof_ssp_amp: remove unused variable
Cezary Rojewski (2):
      ASoC: Intel: avs: Use asoc_substream_to_rtd() to obtain rtd
      ASoC: Intel: avs: Simplify probe-component implementation
Chancel Liu (3):
      ASoC: dt-bindings: fsl,xcvr: Add compatible string for i.MX93 platform
      ASoC: fsl_xcvr: Add support for i.MX93 platform
      ASoC: fsl_xcvr: Add constraints of period size while using eDMA
Charles Keepax (2):
      ASoC: cs35l45: Remove separate tables module
      ASoC: cs35l45: Remove separate namespace for tables
Christophe Branchereau (1):
      ASoC: codecs/jz4760: add digital gain controls
Chunxu Li (1):
      ASoC: mediatek: mt8186: add AFE_DAC_CON0 to volatile register list
Claudiu Beznea (12):
      ASoC: dt-bindings: microchip: use proper naming syntax
      ASoC: mchp-pdmc: use runtime pm for clock power saving
      ASoC: mchp-pdmc: add support for suspend to RAM
      ASoC: mchp-spdiftx: use FIELD_PREP() where possible
      ASoC: mchp-spdifrx: fix controls which rely on rsr register
      ASoC: mchp-spdifrx: fix return value in case completion times out
      ASoC: mchp-spdifrx: fix controls that works with completion mechanism
      ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
      ASoC: mchp-spdifrx: use unsigned long to store clk_get_rate() value
      ASoC: mchp-spdifrx: remove struct mchp_spdifrx_dev::fmt member
      ASoC: mchp-spdifrx: add runtime pm support
      ASoC: mchp-spdifrx: document data structures
Colin Ian King (2):
      ASoC: SMA1303: Fix spelling mistake "Invald" -> "Invalid"
      ASoC: codecs: aw88395: Fix spelling mistake "cersion" -> "version"
Dan Carpenter (1):
      ASoC: mediatek: mt8188: remove some dead code
Daniel Baluta (4):
      ASoC: SOF: Prepare ipc_msg_data to be used with compress API
      ASoC: SOF: Prepare set_stream_data_offset for compress API
      ASoC: SOF: Add support for compress API for stream data/offset
      ASoC: SOF: compress: Set compress data offset
David Rau (1):
      ASoC: da7213: Add support for mono, set frame width to 32 when possible
Deepak R Varma (2):
      ASoC: imx-pcm-rpmsg: Remove unused variable
      ASoC: codecs: wcd934x: Use min macro for comparison and assignment
Emanuele Ghidoli (3):
      ASoC: dt-bindings: nau8822: convert to the dtschema
      ASoC: nau8822: add speaker Bridge Tied Output configuration
      ASoC: dt-bindings: nau8822: add nuvoton,spk-btl property to dtschema
Faiz Abbas (1):
      ASoC: dt-bindings: simple-card: Document simple-audio-card,plat
Geert Uytterhoeven (1):
      ASoC: dt-bindings: ti,pcm3168a: Convert to json-schema
Herve Codina (6):
      ASoC: Add Renesas IDT821034 codec bindings
      ASoC: codecs: Add support for the Renesas IDT821034 codec
      MAINTAINERS: add the Renesas IDT821034 codec entry
      ASoC: dt-bindings: Add the Infineon PEB2466 codec
      ASoC: codecs: Add support for the Infineon PEB2466 codec
      MAINTAINERS: add the Infineon PEB2466 codec entry
Jai Luthra (2):
      dt-bindings: sound: tlv320aic3x: Convert to dtschema
      ASoC: tlv320aic3x: Add optional clock and port properties
Jerome Brunet (9):
      ASoC: dt-bindings: create component common schema
      ASoC: dt-bindings: meson: fix gx-card codec node regex
      ASoC: dt-bindings: meson: convert axg tdm interface to schema
      ASoC: dt-bindings: meson: convert axg tdm formatters to schema
      ASoC: dt-bindings: meson: convert axg pdm to schema
      ASoC: dt-bindings: meson: convert axg fifo to schema
      ASoC: dt-bindings: meson: convert axg spdif input to schema
      ASoC: dt-bindings: meson: convert axg spdif output to schema
      ASoC: dt-bindings: meson: convert axg sound card control to schema
Jiapeng Chong (1):
      ASoC: codecs: Fix unsigned comparison with less than zero
Judy Hsiao (1):
      ASoC: qcom: lpass-platform: Use SNDRV_DMA_TYPE_NONCOHERENT page allocation
Kees Cook (1):
      ASoC: kirkwood: Iterate over array indexes instead of using pointer math
Kiseok Jo (7):
      ASoC: Modified the schema binding and added the vendor prefixes.
      MAINTAINERS: add IRON DEVICE AUDIO CODEC DRIVERS
      ASoC: dt-bindings: irondevice,sma1303.yaml: Fix about breaking the checks
      ASoC: SMA1303: Remove the I2C Retry property in devicetree
      ASoC: SMA1303: Convert the TDM slot properties in devicetree to mixer
      ASoC: dt-bindings: irondevice,sma1303: Rework binding and add missing properties
      ASoC: SMA1303: Remove the sysclk setting in devicetree
KiseokJo (1):
      ASoC: The Iron Device SMA1303 is a boosted Class-D audio amplifier.
Krzysztof Kozlowski (28):
      ASoC: dt-bindings: adi,adau7002: Convert to DT schema
      ASoC: dt-bindings: cirrus,cs35l41: add interrupts
      ASoC: dt-bindings: cirrus,cs35l41: cleanup $ref and example
      ASoC: dt-bindings: qcom,lpass-cpu: Document required-opps
      ASoC: dt-bindings: qcom,lpass-cpu: Fix DAI children pattern
      ASoC: dt-bindings: qcom,lpass-cpu: Correct and constrain clocks, interrupts, reg
      ASoC: dt-bindings: simple-card: correct DAI subnodes pattern
      ASoC: dt-bindings: qcom,lpass-wsa-macro: correct clocks on SM8250
      ASoC: dt-bindings: qcom,lpass-tx-macro: correct clocks on SC7280
      ASoC: codecs: wsa883x: Simplify &pdev->dev in probe
      ASoC: codecs: wsa881x: Simplify &pdev->dev in probe
      ASoC: codecs: wsa881x: Simplify with dev_err_probe
      ASoC: codecs: wsa881x: Use proper shutdown GPIO polarity
      ASoC: codecs: constify static sdw_slave_ops struct
      ASoC: codecs: constify static sdw_port_config struct
      ASoC: codecs: wsa88xx: remove unneeded includes
      ASoC: dt-bindings: samsung,odroid: correct codec DAI phandles
      ASoC: dt-bindings: samsung-i2s: drop unneeded assigned-clock*
      ASoC: dt-bindings: qcom,sm8250: use fallback for SDM845 sound cards
      ASoC: qcom: sdm845: add remark about unneeded compatibles
      ASoC: dt-bindings: renesas,rsnd: simplify list of compatibles
      ASoC: dt-bindings: maxim,max98090: Convert to dtschema
      ASoC: codecs: max98090: simplify snd_soc_dai_driver
      ASoC: dt-bindings: qcom,wsa881x: Allow sound-name-prefix
      ASoC: dt-bindings: qcom,wcd934x: Describe slim-ifc-dev
      ASoC: dt-bindings: qcom,wcd934x: Allow usage as IFD device
      ASoC: dt-bindings: qcom,q6apm-dai: adjust iommus for SM8550 ADSP
      ASoC: dt-bindings: maxim,max98095: Convert to dtschema
Kuninori Morimoto (55):
      ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
      ASoC: dt-bindings: audio-graph-port: use definitions for port/endpoint
      ASoC: dt-bindings: audio-graph-port: add definitions/ports
      ASoC: dt-bindings: audio-graph-port: add missing mclk-fs
      ASoC: dt-bindings: audio-graph-port: add clocks on endpoint
      ASoC: dt-bindings: audio-graph-port: remove prefix
      ASoC: dt-bindings: ak4613: enable Of-graph (Audio-Graph-Card) style
      ASoC: dt-bindings: renesas,rsnd: add missing playback/capture
      ASoC: dt-bindings: renesas,rsnd: tidyup rcar_sound,src
      ASoC: dt-bindings: renesas,rsnd: #sound-dai-cells is not mandatory
      ASoC: dt-bindings: simple-card: add missing #address-cells/#size-cells
      ASoC: soc-dai.h: add missing snd_soc_dai_set_widget()
      ASoC: soc-dai.h: add snd_soc_dai_dma_data_set/get() for low level
      ASoC: soc-dai.h: add snd_soc_dai_tdm_mask_set/get() helper
      ASoC: soc-dai.h: add snd_soc_dai_get/set_widget_playback/capture() helper
      ASoC: soc.h: add snd_soc_card_is_instantiated() helper
      ASoC: hdmi-codec: use helper function
      ASoC: hda: use helper function
      ASoC: max: use helper function
      ASoC: rt: use helper function
      ASoC: cirrus: use helper function
      ASoC: spear: use helper function
      ASoC: sdw-mockup: use helper function
      ASoC: intel: use helper function
      ASoC: mediatek: use helper function
      ASoC: meson: use helper function
      ASoC: rockchip: use helper function
      ASoC: sof: use helper function
      ASoC: tegra: use helper function
      ASoC: ti: use helper function
      ASoC: soc-core.c: use helper function
      ASoC: soc-dapm.c: use helper function
      ASoC: soc-dai.c: use helper function
      ASoC: soc-pcm.c: use helper function
      ASoC: soc-topology.c: use helper function
      ASoC: soc-dai.h: cleanup Playback/Capture data for snd_soc_dai
      ASoC: cs42l42: use helper function
      ASoC: rsnd: check whether playback/capture property exists
      ASoC: rsnd: fixup #endif position
      ASoC: rsnd: Remove unnecessary rsnd_dbg_dai_call()
      ASoC: rsnd: indicate necessary error when clock start failed
      ASoC: rsnd: indicate warning once if it can't handle requested rule
      ASoC: rsnd: use same debug message format on clkout
      ASoC: rsnd: remove unnecessary ADG flags
      ASoC: rsnd: rename clk to clkin
      ASoC: rsnd: moves clkout_name to top of the file
      ASoC: rsnd: use clkin/out_size
      ASoC: rsnd: use array for 44.1kHz/48kHz rate handling
      ASoC: rsnd: tidyup rsnd_dma_addr()
      ASoC: rsnd: dma.c: tidyup rsnd_dma_probe()
      ASoC: dt-bindings: renesas: add R8A779G0 V4H
      ASoC: rsnd: add R-Car Gen4 Sound support
      ASoC: dt-bindings: renesas,rsnd.yaml: tidyup reg/reg-name
      ASoC: rsnd: core.c: indicate warning if strange TDM width was set
      ASoC: dt-bindings: renesas,rsnd.yaml: drop "dmas/dma-names" from "rcar_sound,ssi"
Luca Ceresoli (1):
      ASoC: fsl-asoc-card: constify fsl_asoc_card_dai
Lucas Tanure (1):
      ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
Lukasz Majewski (3):
      ASoC: wm8940: Remove warning when no plat data present
      ASoC: wm8940: Rewrite code to set proper clocks
      ASoC: wm8940: Read chip ID when wm8940 codec probing
Marek Vasut (1):
      ASoC: dt-bindings: fsl-sai: Simplify the VFxxx dmas binding
Mario Limonciello (6):
      ASoC: amd: yc: Adjust the gain for PDM DMIC
      ASoC: amd: yc: Add a module parameter to influence pdm_gain
      ASoC: amd: renoir: Adjust the gain for PDM DMIC
      ASoC: amd: renoir: Add a module parameter to influence pdm_gain
      ASoC: amd: ps: Adjust the gain for PDM DMIC
      ASoC: amd: ps: Add a module parameter to influence pdm_gain
Mark Brown (31):
      Add support for DSP volume controls
      ASoC: Drop empty platform remove functions
      ASoC: SOF: Extend the IPC ops optionality
      ASoC: microchip: power saving features and cleanups
      Add support for XCVR on i.MX93 platform
      ASoC: nau8822: add speaker Bridge Tied Output
      ASoC: fsl-asoc-card: Log error code when we fail to register
      Add support of MediaTek mt8188 to SOF
      Add tdm support in acp machine driver
      Fixes for avs driver
      ASoC: samsung: fsd: audio support for FSD SoC
      ASoC: Merge up 6.2 fixes
      Add support to compress API to ipc_msg_data /
      ASoC: mediatek: Add support for MT8188 SoC
      Update lpass dt-bindings
      ASoC: simple-card-utils: create jack inputs for
      ASoC: SOF: ipc4: Multi-stream playback and capture support
      ASoC: dt-bindings: audio-graph-port related update
      ASoC: topology: Fixes and cleanups
      Add the Renesas IDT821034 codec support
      ASoC: codecs: Add Awinic AW88395 audio amplifier
      ASoC: mchp-spdifrx: add runtime PM support and fixes
      ASoC: use helper function and cleanup
      ASoC: cs42l42: Add SoundWire support
      Fix default DMIC gain on AMD PDM drivers
      ASoC: (SOF) topology: Regression fixes for next
      ASoC: SOF: core/ipc4/mtl: Add support for PCM delay
      Add the Infineon PEB2466 codec support
      ASoC: SOF: ipc4-topology: Configure copier sink format
      ASoC: qcom: q6dsp and lpass codec stablity fixes
      ASoC: SOF: Intel/ipc4: Support for low power playback
Matthias Kaehlcke (1):
      SoC: rt5682s: Disable jack detection interrupt during suspend
Nathan Chancellor (2):
      ASoC: amd: ps: Fix uninitialized ret in create_acp64_platform_devs()
      ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
Ondrej Jirman (2):
      ASoC: rt5640: Allow configuration of LOUT to mono differential mode
      ASoC: rt5640: Allow to describe how LOUT is wired
Padmanabhan Rajanbabu (2):
      ASoC: dt-bindings: Add FSD I2S controller bindings
      ASoC: samsung: i2s: add support for FSD I2S
Peter Ujfalusi (17):
      ASoC: SOF: sof-audio: Treat tplg_ops->route_setup() as optional
      ASoC: SOF: sof-audio: Update documentation for sof_ipc_tplg_ops
      ASoC: SOF: Add helper macro to be used to get an IPC ops
      ASoC: SOF: pcm: Extend the optionality of IPC ops to IPC as well
      ASoC: SOF: control: Extend the optionality of IPC ops to IPC as well
      ASoC: SOF: sof-audio: Extend the optionality of IPC ops to IPC as well
      ASoC: SOF: topology: Extend the optionality of IPC ops to IPC as well
      ASoC: SOF: pm: Extend the optionality of IPC ops to IPC as well
      ASoC: SOF: sof-priv: Mark fw_tracing ops optional in documentation
      ASoC: SOF: trace: Use sof_ipc_get_ops() in sof_fw_trace_init
      ASoC: SOF: trace: No need to check for op pointer in sof_fw_trace_free()
      ASoC: SOF: core: Print out the value of sof_debug if it is set
      ASoC: SOF: Avoid double decrementing use_count in sof_widget_setup on error
      ASoC: SOF: Protect swidget->use_count with mutex for kcontrol access race
      ASoC: SOF: ipc4-pcm: Do not run the trigger pipelines if no spipe is stored
      ASoC: SOF: topology: Add missed "else" in sof_connect_dai_widget
      ASoC: topology: Set correct unload callback for graph type
Pierre-Louis Bossart (1):
      ASoC: amd: ps: use static function
Rander Wang (14):
      ASoC: SOF: add ipc4_fw_reg header file
      ASoC: SOF: add fw_info_box support
      ASoC: SOF: add time info structure for ipc4 path
      ASoC: SOF: ipc4-pcm: allocate time info for pcm delay feature
      ASoC: SOF: ipc4-pcm: add hw_params
      ASoC: SOF: add delay function support in sof framework
      ASoC: SOF: add get_stream_position ops for pcm delay
      ASoC: SOF: Intel: mtl: add get_stream_position support
      ASoC: SOF: ipc4-pcm: add delay function support
      ASoC: SOF: Introduce a new set_pm_gate() IPC PM op
      ASoC: SOF: Intel: hda-dsp: use set_pm_gate according to ipc version
      ASoC: SOF: ipc4: Wake up dsp core before sending ipc msg
      ASoC: SOF: Intel: Enable d0i3 work for ipc4
      ASoC: SOF: Intel: hda-dsp: Set streaming flag for d0i3
Randy Dunlap (1):
      ASoC: Kconfig: fix spelling of "up to"
Ranjani Sridharan (16):
      ASoC: SOF: ipc4-topology: No need to unbind routes within a pipeline
      ASoC: soc-pcm: Export widget_in_list()
      ASoC: SOF: sof-audio: Set up/free DAI/AIF widgets only once
      ASoC: SOF: sof-audio: Only process widgets in the connected widget list
      ASoC: SOF: pcm: do not free widgets during suspend trigger
      ASoC: SOF: topology: Set IPC-specific trigger order for DAI links
      ASoC: SOF: Introduce PCM setup/free PCM IPC ops
      ASoC: SOF: ipc4-pcm: Define pcm_setup/free ops
      ASoC: SOF: ipc4: Add flag to skip triggering pipelines during FE DAI trigger
      ASoC: SOF: sof-audio: Populate the PCM stream pipeline_info
      ASoC: SOF: ipc4-pcm: Use the PCM stream's pipeline_info during trigger
      ASoC: SOF: Introduce struct snd_sof_pipeline
      ASoC: SOF: ipc4-pcm: Rename 'data' variable to trigger_list
      ASoC: SOF: ipc4-pcm: Implement pipeline trigger reference counting
      ASoC: SOF: ipc4-topology: Protect pipeline free with mutex
      ASoC: SOF: ipc4-topology: Print queue IDs in error
Richard Fitzgerald (6):
      ASoC: cs42l42: Add SOFT_RESET_REBOOT register
      ASoC: cs42l42: Ensure MCLKint is a multiple of the sample rate
      ASoC: cs42l42: Separate ASP config from PLL config
      ASoC: cs42l42: Export some functions for SoundWire
      ASoC: cs42l42: Add SoundWire support
      ASoC: cs42l42: Don't set idle_bias_on
Sameer Pujar (1):
      ASoC: rt5640: Update MCLK rate in set_sysclk()
Seppo Ingalsuo (1):
      ASoC: SOF: IPC3 topology: Print the conflicting bytes sizes
Shengjiu Wang (1):
      ASoC: fsl_sai: initialize is_dsp_mode flag
Shuming Fan (3):
      ASoC: rt711-sdca: add jack detection mode for JD2 100K
      ASoC: rt712-sdca: Add RT712 SDCA driver for Jack and Amp topology
      ASoC: rt712-sdca: fix coding style and unconditionally return issues
Srinivas Kandagatla (8):
      ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared
      ASoC: qcom: q6apm-dai: fix race condition while updating the position pointer
      ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag
      ASoC: qcom: audioreach: fix ADSP ready check
      ASoC: codecs: lpass: register mclk after runtime pm
      ASoC: codecs: lpass: fix incorrect mclk rate
      ASoC: codecs: lpass: do not reset soundwire block on clk enable
      ASoC: codecs: lpass: remove not so useful verbose log
Srinivasa Rao Mandadapu (3):
      ASoC: qdsp6: audioreach: Add ADSP ready check
      ASoC: qcom: dt-bindings: lpass-va-macro: Update clock name
      ASoC: dt-bindings: google,sc7280-herobrine: Add platform property
Stefan Binding (2):
      soundwire: stream: Add specific prep/deprep commands to port_prep callback
      ASoC: cs42l42: Wait for debounce interval after resume
Steffen Aschbacher (5):
      ASoC: codecs: tas5720: add support for TAS5720A-Q1 (automotive) variant
      ASoC: tas5720: set bit 7 in ANALOG_CTRL_REG for TAS5720A-Q1 during probe
      ASoC: dt-bindings: add entry for TAS5720A-Q1 driver
      ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
      ASoC: tlv320adcx140: extend list of supported samplerates
Tinghan Shen (3):
      dt-bindings: dsp: mediatek: Add mt8188 dsp compatible
      ASoC: SOF: mediatek: Support mt8188 platform
      ASoC: SOF: mediatek: Provide debugfs_add_region_item ops for core
Tom Rix (1):
      ASoC: codecs: aw88395: initialize cur_scene_id to 0
Trevor Wu (14):
      ASoC: mediatek: common: add SMC ops and SMC CMD
      ASoC: mediatek: mt8188: add common header
      ASoC: mediatek: mt8188: support audsys clock
      ASoC: mediatek: mt8188: support adda in platform driver
      ASoC: mediatek: mt8188: support etdm in platform driver
      ASoC: mediatek: mt8188: support pcmif in platform driver
      ASoC: mediatek: mt8188: support audio clock control
      ASoC: mediatek: mt8188: add platform driver
      ASoC: mediatek: mt8188: add control for timing select
      ASoC: dt-bindings: mediatek,mt8188-afe: add audio afe document
      ASoC: mediatek: common: add soundcard driver common code
      ASoC: mediatek: mt8188: add machine driver with mt6359
      ASoC: dt-bindings: mediatek,mt8188-mt6359: add mt8188-mt6359 document
      ASoC: mediatek: mt8188: remove etdm dead code
Uwe Kleine-König (17):
      ASoC: pxa: Drop empty platform remove function
      ASoC: amd: Drop empty platform remove function
      ASoC: atmel-classd: Drop empty platform remove function
      ASoC: atmel-pdmic: Drop empty platform remove function
      ASoC: 88pm860x: Drop empty platform remove function
      ASoC: ac97: Drop empty platform remove function
      ASoC: adau7002: Drop empty platform remove function
      ASoC: bt-sco: Drop empty platform remove function
      ASoC: cq93vc: Drop empty platform remove function
      ASoC: mc13783: Drop empty platform remove function
      ASoC: wl1273: Drop empty platform remove function
      ASoC: pxa: e740_wm9705: Drop empty platform remove function
      ASoC: pxa: e750_wm9705: Drop empty platform remove function
      ASoC: pxa: e800_wm9712: Drop empty platform remove function
      ASoC: SOF: nocodec: Drop empty platform remove function
      ASoC: pxa: Drop empty platform remove function
      ASoC: sma1303: Convert to i2c's .probe_new()
V sujith kumar Reddy (1):
      ASoC: SOF: amd: Enable cache for AMD Rembrandt platform
Venkata Prasad Potturu (6):
      ASoC: amd: acp: Add new cpu dai's in machine driver
      ASoC: amd: acp: Refactor dai format implementation
      ASoC: amd: acp: Refactor i2s clocks programming sequence
      ASoC: amd: acp: Add i2s tdm support in machine driver
      ASoC: amd: acp: Enable i2s tdm support for skyrim platforms
      ASoC: amd: acp: Refactor bit width calculation
Vijendar Mukunda (8):
      ASoC: amd: ps: implement api to retrieve acp device config
      ASoC: amd: ps: refactor platform device creation logic
      ASoC: amd: ps: update dev index value in irq handler
      ASoC: amd: ps: move irq handler registration
      ASoC: amd: ps: add mutex lock for accessing common registers
      ASoC: amd: ps: use acp_lock to protect common registers in pdm driver
      ASoC: amd: ps: remove unused variable
      ASoC: amd: update ps platform acp header file
Weidong Wang (8):
      ASoC: codecs: Add i2c and codec registration for aw88395 and their associated operation functions
      ASoC: codecs: ACF bin parsing and check library file for aw88395
      ASoC: codecs: Aw88395 function for ALSA Audio Driver
      ASoC: codecs: Aw88395 chip register file, data type file and Kconfig Makefile
      ASoC: dt-bindings: Add schema for "awinic,aw88395"
      ASoC: codecs: Fixed a spelling error in the function name
      ASoC: codecs: Modify the log print statement
      ASoC: codecs: Modify error implicit declaration of function 'gpiod_set_value_cansleep'
YC Hung (1):
      ASoC: SOF: mediatek: mt8195: remove a redundant comparison of sram
Yang Li (2):
      ASoC: codecs: fix platform_no_drv_owner.cocci warning
      ASoC: codecs: Remove unneeded semicolon
Yassine Oudjana (1):
      ASoC: qcom: apq8096: set driver name correctly
강신형 (1):
      ASoC: soc-compress: Reposition and add pcm_mutex
 .../bindings/dsp/mediatek,mt8186-dsp.yaml          |    4 +-
 .../devicetree/bindings/sound/adi,adau7002.txt     |   19 -
 .../devicetree/bindings/sound/adi,adau7002.yaml    |   40 +
 .../devicetree/bindings/sound/ak4613.yaml          |    7 +
 .../devicetree/bindings/sound/amlogic,axg-fifo.txt |   34 -
 .../bindings/sound/amlogic,axg-fifo.yaml           |  112 +
 .../devicetree/bindings/sound/amlogic,axg-pdm.txt  |   29 -
 .../devicetree/bindings/sound/amlogic,axg-pdm.yaml |   82 +
 .../bindings/sound/amlogic,axg-sound-card.txt      |  124 -
 .../bindings/sound/amlogic,axg-sound-card.yaml     |  183 ++
 .../bindings/sound/amlogic,axg-spdifin.txt         |   27 -
 .../bindings/sound/amlogic,axg-spdifin.yaml        |   86 +
 .../bindings/sound/amlogic,axg-spdifout.txt        |   25 -
 .../bindings/sound/amlogic,axg-spdifout.yaml       |   79 +
 .../bindings/sound/amlogic,axg-tdm-formatters.txt  |   36 -
 .../bindings/sound/amlogic,axg-tdm-formatters.yaml |   88 +
 .../bindings/sound/amlogic,axg-tdm-iface.txt       |   22 -
 .../bindings/sound/amlogic,axg-tdm-iface.yaml      |   55 +
 .../bindings/sound/amlogic,gx-sound-card.yaml      |    2 +-
 .../bindings/sound/audio-graph-port.yaml           |   65 +-
 .../devicetree/bindings/sound/awinic,aw88395.yaml  |   53 +
 .../devicetree/bindings/sound/cirrus,cs35l41.yaml  |   43 +-
 .../bindings/sound/component-common.yaml           |   21 +
 .../devicetree/bindings/sound/dai-common.yaml      |   11 +-
 .../devicetree/bindings/sound/fsl,sai.yaml         |   38 +-
 .../devicetree/bindings/sound/fsl,xcvr.yaml        |    1 +
 .../bindings/sound/google,sc7280-herobrine.yaml    |   12 +
 .../bindings/sound/infineon,peb2466.yaml           |   91 +
 .../bindings/sound/irondevice,sma1303.yaml         |   48 +
 .../devicetree/bindings/sound/max98090.txt         |   59 -
 .../devicetree/bindings/sound/max98095.txt         |   22 -
 .../devicetree/bindings/sound/maxim,max98090.yaml  |   84 +
 .../devicetree/bindings/sound/maxim,max98095.yaml  |   54 +
 .../bindings/sound/mediatek,mt8188-afe.yaml        |  208 ++
 .../bindings/sound/mediatek,mt8188-mt6359.yaml     |   97 +
 ...,i2s-mcc.yaml => microchip,sama7g5-i2smcc.yaml} |    2 +-
 ...ochip,pdmc.yaml => microchip,sama7g5-pdmc.yaml} |    2 +-
 ...spdifrx.yaml => microchip,sama7g5-spdifrx.yaml} |    2 +-
 ...spdiftx.yaml => microchip,sama7g5-spdiftx.yaml} |    2 +-
 .../devicetree/bindings/sound/nau8822.txt          |   16 -
 .../devicetree/bindings/sound/nuvoton,nau8822.yaml |   46 +
 .../devicetree/bindings/sound/qcom,lpass-cpu.yaml  |  136 +-
 .../bindings/sound/qcom,lpass-va-macro.yaml        |    4 +-
 .../devicetree/bindings/sound/qcom,q6apm-dai.yaml  |    3 +-
 .../devicetree/bindings/sound/qcom,sm8250.yaml     |   24 +-
 .../devicetree/bindings/sound/qcom,wcd934x.yaml    |   62 +-
 .../devicetree/bindings/sound/qcom,wsa881x.yaml    |    5 +-
 .../bindings/sound/renesas,idt821034.yaml          |   75 +
 .../devicetree/bindings/sound/renesas,rsnd.yaml    |   59 +-
 Documentation/devicetree/bindings/sound/rt5640.txt |    3 +
 .../devicetree/bindings/sound/samsung,odroid.yaml  |    3 +-
 .../devicetree/bindings/sound/samsung-i2s.yaml     |   11 +-
 .../devicetree/bindings/sound/simple-card.yaml     |   18 +-
 .../devicetree/bindings/sound/tas5720.txt          |    2 +
 .../devicetree/bindings/sound/ti,pcm3168a.txt      |   56 -
 .../devicetree/bindings/sound/ti,pcm3168a.yaml     |  107 +
 .../devicetree/bindings/sound/ti,tlv320aic3x.yaml  |  165 +
 .../devicetree/bindings/sound/tlv320aic3x.txt      |   97 -
 .../devicetree/bindings/vendor-prefixes.yaml       |    2 +
 MAINTAINERS                                        |   21 +
 drivers/soundwire/stream.c                         |    4 +-
 include/linux/platform_data/asoc-ux500-msp.h       |   20 -
 include/linux/soundwire/sdw.h                      |    8 +-
 include/sound/acp63_chip_offset_byte.h             |  751 ++---
 include/sound/cs42l42.h                            |    5 +
 include/sound/simple_card_utils.h                  |    3 +
 include/sound/soc-component.h                      |    2 +
 include/sound/soc-dai.h                            |   90 +-
 include/sound/soc-dapm.h                           |    1 +
 include/sound/soc-dpcm.h                           |    2 +
 include/sound/soc-topology.h                       |    2 +-
 include/sound/soc.h                                |    6 +
 include/sound/sof/ipc4/header.h                    |    3 +
 include/uapi/sound/intel/avs/tokens.h              |    4 +
 sound/soc/amd/acp/acp-legacy-mach.c                |   13 +
 sound/soc/amd/acp/acp-mach-common.c                |  465 ++-
 sound/soc/amd/acp/acp-mach.h                       |    4 +
 sound/soc/amd/acp/acp-sof-mach.c                   |   14 +
 sound/soc/amd/ps/acp63.h                           |   14 +-
 sound/soc/amd/ps/pci-ps.c                          |  211 +-
 sound/soc/amd/ps/ps-pdm-dma.c                      |   40 +-
 sound/soc/amd/raven/acp3x-i2s.c                    |    8 -
 sound/soc/amd/renoir/acp3x-pdm-dma.c               |    8 +-
 sound/soc/amd/renoir/rn_acp3x.h                    |    2 +-
 sound/soc/amd/yc/acp6x-pdm-dma.c                   |    8 +-
 sound/soc/amd/yc/acp6x.h                           |    2 +-
 sound/soc/atmel/atmel-classd.c                     |    6 -
 sound/soc/atmel/atmel-pdmic.c                      |    6 -
 sound/soc/atmel/mchp-pdmc.c                        |  145 +-
 sound/soc/atmel/mchp-spdifrx.c                     |  554 +++-
 sound/soc/atmel/mchp-spdiftx.c                     |    8 +-
 sound/soc/cirrus/ep93xx-ac97.c                     |    4 +-
 sound/soc/cirrus/ep93xx-i2s.c                      |    6 +-
 sound/soc/codecs/88pm860x-codec.c                  |    6 -
 sound/soc/codecs/Kconfig                           |   69 +-
 sound/soc/codecs/Makefile                          |   19 +-
 sound/soc/codecs/ac97.c                            |    6 -
 sound/soc/codecs/adau7002.c                        |    6 -
 sound/soc/codecs/aw88395/aw88395.c                 |  579 ++++
 sound/soc/codecs/aw88395/aw88395.h                 |   58 +
 sound/soc/codecs/aw88395/aw88395_data_type.h       |  142 +
 sound/soc/codecs/aw88395/aw88395_device.c          | 1748 ++++++++++
 sound/soc/codecs/aw88395/aw88395_device.h          |  194 ++
 sound/soc/codecs/aw88395/aw88395_lib.c             | 1066 +++++++
 sound/soc/codecs/aw88395/aw88395_lib.h             |   92 +
 sound/soc/codecs/aw88395/aw88395_reg.h             |  383 +++
 sound/soc/codecs/bt-sco.c                          |    6 -
 sound/soc/codecs/cq93vc.c                          |    6 -
 sound/soc/codecs/cs35l45-i2c.c                     |    1 -
 sound/soc/codecs/cs35l45-spi.c                     |    1 -
 sound/soc/codecs/cs35l45-tables.c                  |   12 +-
 sound/soc/codecs/cs35l45.c                         |    1 -
 sound/soc/codecs/cs42l42-sdw.c                     |  607 ++++
 sound/soc/codecs/cs42l42.c                         |  133 +-
 sound/soc/codecs/cs42l42.h                         |    9 +-
 sound/soc/codecs/da7213.c                          |   30 +-
 sound/soc/codecs/da7213.h                          |    3 +
 sound/soc/codecs/hda.c                             |    7 +-
 sound/soc/codecs/hdmi-codec.c                      |   11 +-
 sound/soc/codecs/idt821034.c                       | 1178 +++++++
 sound/soc/codecs/jz4760.c                          |    9 +
 sound/soc/codecs/lpass-rx-macro.c                  |   31 +-
 sound/soc/codecs/lpass-tx-macro.c                  |   25 +-
 sound/soc/codecs/lpass-va-macro.c                  |   43 +-
 sound/soc/codecs/lpass-wsa-macro.c                 |   27 +-
 sound/soc/codecs/max98090.c                        |    8 +-
 sound/soc/codecs/max98373-sdw.c                    |    5 +-
 sound/soc/codecs/mc13783.c                         |    6 -
 sound/soc/codecs/nau8822.c                         |    9 +
 sound/soc/codecs/nau8822.h                         |    9 +
 sound/soc/codecs/peb2466.c                         | 2071 ++++++++++++
 sound/soc/codecs/rt1308-sdw.c                      |    5 +-
 sound/soc/codecs/rt1316-sdw.c                      |    7 +-
 sound/soc/codecs/rt1318-sdw.c                      |    7 +-
 sound/soc/codecs/rt5640.c                          |    9 +
 sound/soc/codecs/rt5640.h                          |    2 +
 sound/soc/codecs/rt5645.c                          |    2 +-
 sound/soc/codecs/rt5665.c                          |    4 +-
 sound/soc/codecs/rt5668.c                          |    4 +-
 sound/soc/codecs/rt5682-sdw.c                      |    5 +-
 sound/soc/codecs/rt5682.c                          |    4 +-
 sound/soc/codecs/rt5682s.c                         |   14 +-
 sound/soc/codecs/rt5682s.h                         |    1 +
 sound/soc/codecs/rt700.c                           |    7 +-
 sound/soc/codecs/rt711-sdca-sdw.c                  |    2 +-
 sound/soc/codecs/rt711-sdca.c                      |   22 +-
 sound/soc/codecs/rt711-sdca.h                      |    8 +-
 sound/soc/codecs/rt711.c                           |    7 +-
 sound/soc/codecs/rt712-sdca-sdw.c                  |  485 +++
 sound/soc/codecs/rt712-sdca-sdw.h                  |  108 +
 sound/soc/codecs/rt712-sdca.c                      | 1340 ++++++++
 sound/soc/codecs/rt712-sdca.h                      |  220 ++
 sound/soc/codecs/rt715-sdca-sdw.c                  |    2 +-
 sound/soc/codecs/rt715-sdca.c                      |    5 +-
 sound/soc/codecs/rt715.c                           |    5 +-
 sound/soc/codecs/sdw-mockup.c                      |    5 +-
 sound/soc/codecs/sma1303.c                         | 1820 +++++++++++
 sound/soc/codecs/sma1303.h                         |  609 ++++
 sound/soc/codecs/tas5720.c                         |  128 +-
 sound/soc/codecs/tas5720.h                         |   16 +-
 sound/soc/codecs/tlv320adcx140.c                   |    2 +-
 sound/soc/codecs/tlv320adcx140.h                   |    4 +-
 sound/soc/codecs/ts3a227e.c                        |   20 +-
 sound/soc/codecs/wcd934x.c                         |   10 +-
 sound/soc/codecs/wcd938x-sdw.c                     |    2 +-
 sound/soc/codecs/wl1273.c                          |    6 -
 sound/soc/codecs/wm8940.c                          |  116 +-
 sound/soc/codecs/wm8940.h                          |    3 +
 sound/soc/codecs/wsa881x.c                         |   63 +-
 sound/soc/codecs/wsa883x.c                         |   22 +-
 sound/soc/fsl/fsl-asoc-card.c                      |    4 +-
 sound/soc/fsl/fsl_sai.c                            |    6 +-
 sound/soc/fsl/fsl_xcvr.c                           |  155 +-
 sound/soc/fsl/fsl_xcvr.h                           |    7 +
 sound/soc/fsl/imx-hdmi.c                           |    2 +-
 sound/soc/fsl/imx-pcm-rpmsg.c                      |    6 +-
 sound/soc/generic/simple-card-utils.c              |   49 +
 sound/soc/generic/simple-card.c                    |    4 +
 sound/soc/intel/atom/sst-atom-controls.c           |    9 +-
 sound/soc/intel/avs/Makefile                       |    2 +-
 sound/soc/intel/avs/boards/nau8825.c               |    5 +-
 sound/soc/intel/avs/boards/rt286.c                 |    2 +-
 sound/soc/intel/avs/boards/rt298.c                 |    2 +-
 sound/soc/intel/avs/control.c                      |  105 +
 sound/soc/intel/avs/control.h                      |   23 +
 sound/soc/intel/avs/messages.c                     |   29 +
 sound/soc/intel/avs/messages.h                     |   33 +
 sound/soc/intel/avs/path.c                         |   62 +
 sound/soc/intel/avs/pcm.c                          |   45 +-
 sound/soc/intel/avs/probes.c                       |   23 -
 sound/soc/intel/avs/topology.c                     |   76 +
 sound/soc/intel/avs/topology.h                     |    3 +
 sound/soc/intel/avs/trace.c                        |    2 +-
 sound/soc/intel/boards/bytcht_cx2072x.c            |    2 +-
 sound/soc/intel/boards/bytcht_da7213.c             |    2 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c            |    2 +-
 sound/soc/intel/boards/cht_bsw_rt5672.c            |    2 +-
 sound/soc/intel/boards/sof_ssp_amp.c               |    4 -
 sound/soc/intel/boards/sof_wm8804.c                |    2 +-
 sound/soc/intel/skylake/skl-messages.c             |    2 +-
 sound/soc/intel/skylake/skl-topology.c             |   19 +-
 sound/soc/intel/skylake/skl-topology.h             |    5 +-
 sound/soc/kirkwood/kirkwood-dma.c                  |    2 +-
 sound/soc/mediatek/Kconfig                         |   23 +
 sound/soc/mediatek/Makefile                        |    1 +
 sound/soc/mediatek/common/Makefile                 |    2 +-
 sound/soc/mediatek/common/mtk-base-afe.h           |   19 +
 sound/soc/mediatek/common/mtk-dsp-sof-common.c     |   18 +-
 sound/soc/mediatek/common/mtk-soundcard-driver.c   |   79 +
 sound/soc/mediatek/common/mtk-soundcard-driver.h   |   14 +
 sound/soc/mediatek/mt6797/mt6797-dai-pcm.c         |    8 +-
 sound/soc/mediatek/mt8183/mt8183-dai-pcm.c         |    7 +-
 sound/soc/mediatek/mt8186/mt8186-afe-pcm.c         |    1 +
 sound/soc/mediatek/mt8186/mt8186-dai-pcm.c         |    7 +-
 .../mediatek/mt8186/mt8186-mt6366-rt1019-rt5682s.c |    2 +-
 sound/soc/mediatek/mt8188/Makefile                 |   15 +
 sound/soc/mediatek/mt8188/mt8188-afe-clk.c         |  658 ++++
 sound/soc/mediatek/mt8188/mt8188-afe-clk.h         |  115 +
 sound/soc/mediatek/mt8188/mt8188-afe-common.h      |  151 +
 sound/soc/mediatek/mt8188/mt8188-afe-pcm.c         | 3358 ++++++++++++++++++++
 sound/soc/mediatek/mt8188/mt8188-audsys-clk.c      |  205 ++
 sound/soc/mediatek/mt8188/mt8188-audsys-clk.h      |   15 +
 sound/soc/mediatek/mt8188/mt8188-audsys-clkid.h    |   83 +
 sound/soc/mediatek/mt8188/mt8188-dai-adda.c        |  632 ++++
 sound/soc/mediatek/mt8188/mt8188-dai-etdm.c        | 2573 +++++++++++++++
 sound/soc/mediatek/mt8188/mt8188-dai-pcm.c         |  368 +++
 sound/soc/mediatek/mt8188/mt8188-mt6359.c          |  785 +++++
 sound/soc/mediatek/mt8188/mt8188-reg.h             | 3180 ++++++++++++++++++
 sound/soc/mediatek/mt8192/mt8192-dai-pcm.c         |    8 +-
 sound/soc/mediatek/mt8195/mt8195-dai-pcm.c         |    7 +-
 sound/soc/meson/aiu-fifo-i2s.c                     |    4 +-
 sound/soc/meson/aiu-fifo-spdif.c                   |    2 +-
 sound/soc/meson/aiu-fifo.c                         |   21 +-
 sound/soc/meson/axg-tdm-interface.c                |   34 +-
 sound/soc/meson/axg-tdmin.c                        |    2 +-
 sound/soc/meson/axg-tdmout.c                       |    2 +-
 sound/soc/meson/meson-codec-glue.c                 |    8 +-
 sound/soc/pxa/Kconfig                              |    5 +-
 sound/soc/pxa/e740_wm9705.c                        |    6 -
 sound/soc/pxa/e750_wm9705.c                        |    6 -
 sound/soc/pxa/e800_wm9712.c                        |    6 -
 sound/soc/pxa/spitz.c                              |    6 -
 sound/soc/qcom/apq8096.c                           |    1 +
 sound/soc/qcom/lpass-platform.c                    |    2 +-
 sound/soc/qcom/qdsp6/q6apm-dai.c                   |   22 +-
 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c            |    5 +
 sound/soc/qcom/qdsp6/q6apm.c                       |   14 +
 sound/soc/qcom/qdsp6/q6apm.h                       |    2 +
 sound/soc/qcom/qdsp6/q6prm.c                       |    4 +
 sound/soc/qcom/sdm845.c                            |    1 +
 sound/soc/rockchip/Kconfig                         |    2 +-
 sound/soc/rockchip/rockchip_i2s_tdm.c              |    4 +-
 sound/soc/rockchip/rockchip_pdm.c                  |    2 +-
 sound/soc/rockchip/rockchip_spdif.c                |    2 +-
 sound/soc/samsung/i2s-regs.h                       |    1 +
 sound/soc/samsung/i2s.c                            |   53 +
 sound/soc/sh/rcar/adg.c                            |  169 +-
 sound/soc/sh/rcar/core.c                           |   73 +-
 sound/soc/sh/rcar/dma.c                            |   57 +-
 sound/soc/sh/rcar/gen.c                            |   70 +
 sound/soc/sh/rcar/rsnd.h                           |   23 +-
 sound/soc/sh/rcar/ssi.c                            |   13 +-
 sound/soc/sh/rcar/ssiu.c                           |   15 +-
 sound/soc/soc-ac97.c                               |   68 +-
 sound/soc/soc-component.c                          |   20 +
 sound/soc/soc-compress.c                           |   11 +-
 sound/soc/soc-core.c                               |    8 +-
 sound/soc/soc-dai.c                                |   13 +-
 sound/soc/soc-dapm.c                               |   26 +-
 sound/soc/soc-pcm.c                                |   15 +-
 sound/soc/soc-topology.c                           |  187 +-
 sound/soc/sof/amd/acp-dsp-offset.h                 |    4 +
 sound/soc/sof/amd/acp-ipc.c                        |    8 +-
 sound/soc/sof/amd/acp-loader.c                     |    7 +
 sound/soc/sof/amd/acp.h                            |    7 +-
 sound/soc/sof/compress.c                           |    9 +
 sound/soc/sof/control.c                            |   44 +-
 sound/soc/sof/core.c                               |    4 +
 sound/soc/sof/intel/Kconfig                        |    4 +-
 sound/soc/sof/intel/cnl.c                          |    2 +
 sound/soc/sof/intel/hda-dai.c                      |   92 +-
 sound/soc/sof/intel/hda-dsp.c                      |   46 +-
 sound/soc/sof/intel/hda-ipc.c                      |   36 +-
 sound/soc/sof/intel/hda.h                          |    6 +-
 sound/soc/sof/intel/mtl.c                          |   16 +
 sound/soc/sof/intel/mtl.h                          |    6 +
 sound/soc/sof/ipc3-control.c                       |   46 +-
 sound/soc/sof/ipc3-pcm.c                           |    3 +-
 sound/soc/sof/ipc3-topology.c                      |   39 +-
 sound/soc/sof/ipc3.c                               |   22 +-
 sound/soc/sof/ipc4-control.c                       |   33 +-
 sound/soc/sof/ipc4-fw-reg.h                        |  155 +
 sound/soc/sof/ipc4-pcm.c                           |  573 +++-
 sound/soc/sof/ipc4-priv.h                          |   17 +
 sound/soc/sof/ipc4-topology.c                      |  212 +-
 sound/soc/sof/ipc4-topology.h                      |   60 +
 sound/soc/sof/ipc4.c                               |   29 +
 sound/soc/sof/mediatek/mt8186/mt8186.c             |   22 +-
 sound/soc/sof/mediatek/mt8186/mt8186.h             |   10 +-
 sound/soc/sof/mediatek/mt8195/mt8195.c             |    8 +-
 sound/soc/sof/mediatek/mt8195/mt8195.h             |    2 -
 sound/soc/sof/nocodec.c                            |    6 -
 sound/soc/sof/ops.h                                |   18 +-
 sound/soc/sof/pcm.c                                |   36 +-
 sound/soc/sof/pm.c                                 |   12 +-
 sound/soc/sof/sof-audio.c                          |  281 +-
 sound/soc/sof/sof-audio.h                          |   67 +-
 sound/soc/sof/sof-priv.h                           |   30 +-
 sound/soc/sof/stream-ipc.c                         |   53 +-
 sound/soc/sof/topology.c                           |  309 +-
 sound/soc/sof/trace.c                              |    8 +-
 sound/soc/spear/spdif_out.c                        |    3 +-
 sound/soc/tegra/Kconfig                            |    4 +-
 sound/soc/tegra/tegra20_ac97.c                     |    4 +-
 sound/soc/tegra/tegra20_i2s.c                      |    4 +-
 sound/soc/tegra/tegra20_spdif.c                    |    3 +-
 sound/soc/tegra/tegra210_admaif.c                  |    4 +-
 sound/soc/tegra/tegra30_i2s.c                      |    4 +-
 sound/soc/ti/davinci-i2s.c                         |    5 +-
 sound/soc/ti/davinci-mcasp.c                       |    5 +-
 sound/soc/ti/davinci-vcif.c                        |    5 +-
 sound/soc/ux500/mop500.c                           |    8 +-
 sound/soc/ux500/ux500_msp_dai.c                    |   37 +-
 sound/soc/ux500/ux500_msp_i2s.c                    |   66 +-
 sound/soc/ux500/ux500_msp_i2s.h                    |   14 +-
 sound/soc/ux500/ux500_pcm.c                        |   83 +-
 326 files changed, 32241 insertions(+), 3385 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/adi,adau7002.txt
 create mode 100644 Documentation/devicetree/bindings/sound/adi,adau7002.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-fifo.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-pdm.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifin.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt
 create mode 100644 Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/awinic,aw88395.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/component-common.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/infineon,peb2466.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/max98090.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/max98095.txt
 create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98090.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98095.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-afe.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/mediatek,mt8188-mt6359.yaml
 rename Documentation/devicetree/bindings/sound/{mchp,i2s-mcc.yaml => microchip,sama7g5-i2smcc.yaml} (97%)
 rename Documentation/devicetree/bindings/sound/{microchip,pdmc.yaml => microchip,sama7g5-pdmc.yaml} (97%)
 rename Documentation/devicetree/bindings/sound/{mchp,spdifrx.yaml => microchip,sama7g5-spdifrx.yaml} (95%)
 rename Documentation/devicetree/bindings/sound/{mchp,spdiftx.yaml => microchip,sama7g5-spdiftx.yaml} (95%)
 delete mode 100644 Documentation/devicetree/bindings/sound/nau8822.txt
 create mode 100644 Documentation/devicetree/bindings/sound/nuvoton,nau8822.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/renesas,idt821034.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/ti,pcm3168a.txt
 create mode 100644 Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/tlv320aic3x.txt
 delete mode 100644 include/linux/platform_data/asoc-ux500-msp.h
 create mode 100644 sound/soc/codecs/aw88395/aw88395.c
 create mode 100644 sound/soc/codecs/aw88395/aw88395.h
 create mode 100644 sound/soc/codecs/aw88395/aw88395_data_type.h
 create mode 100644 sound/soc/codecs/aw88395/aw88395_device.c
 create mode 100644 sound/soc/codecs/aw88395/aw88395_device.h
 create mode 100644 sound/soc/codecs/aw88395/aw88395_lib.c
 create mode 100644 sound/soc/codecs/aw88395/aw88395_lib.h
 create mode 100644 sound/soc/codecs/aw88395/aw88395_reg.h
 create mode 100644 sound/soc/codecs/cs42l42-sdw.c
 create mode 100644 sound/soc/codecs/idt821034.c
 create mode 100644 sound/soc/codecs/peb2466.c
 create mode 100644 sound/soc/codecs/rt712-sdca-sdw.c
 create mode 100644 sound/soc/codecs/rt712-sdca-sdw.h
 create mode 100644 sound/soc/codecs/rt712-sdca.c
 create mode 100644 sound/soc/codecs/rt712-sdca.h
 create mode 100644 sound/soc/codecs/sma1303.c
 create mode 100644 sound/soc/codecs/sma1303.h
 create mode 100644 sound/soc/intel/avs/control.c
 create mode 100644 sound/soc/intel/avs/control.h
 create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.c
 create mode 100644 sound/soc/mediatek/common/mtk-soundcard-driver.h
 create mode 100644 sound/soc/mediatek/mt8188/Makefile
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-clk.h
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-common.h
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-afe-pcm.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clk.h
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-audsys-clkid.h
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-adda.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-etdm.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-dai-pcm.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-mt6359.c
 create mode 100644 sound/soc/mediatek/mt8188/mt8188-reg.h
 create mode 100644 sound/soc/sof/ipc4-fw-reg.h
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                    
                        The following changes since commit c173ee5b2fa6195066674d66d1d7e191010fb1ff:
  ASoC: topology: Return -ENOMEM on memory allocation failure (2023-02-07 14:06:26 +0000)
are available in the Git repository at:
  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/asoc-fix-v6.2-rc8
for you to fetch changes up to 5afc7eefe41645259da84898fc55f6f46cb4de47:
  ASoC: SOF: ops: refine parameters order in function snd_sof_dsp_update8 (2023-02-08 11:51:45 +0000)
----------------------------------------------------------------
ASoC: Fix for v6.2
One non-urgent fix for v6.2, this could possibly wait till the
merge window.
----------------------------------------------------------------
Rander Wang (1):
      ASoC: SOF: ops: refine parameters order in function snd_sof_dsp_update8
 sound/soc/sof/ops.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                     
                        
                    16 Feb '23
                    
                        Remove the sleep control in IRQ thread
and create an individual task to handel it for Jack plug in event.
This commit improves the control of ground switches in the AAD IRQ.
Signed-off-by: David Rau <David.Rau.opensource(a)dm.renesas.com>
---
 sound/soc/codecs/da7219-aad.c | 41 +++++++++++++++++++++++++++++------
 sound/soc/codecs/da7219-aad.h |  4 ++++
 2 files changed, 38 insertions(+), 7 deletions(-)
diff --git a/sound/soc/codecs/da7219-aad.c b/sound/soc/codecs/da7219-aad.c
index c55b033d89da..4a4f09f924bc 100644
--- a/sound/soc/codecs/da7219-aad.c
+++ b/sound/soc/codecs/da7219-aad.c
@@ -339,11 +339,39 @@ static void da7219_aad_hptest_work(struct work_struct *work)
 				    SND_JACK_HEADSET | SND_JACK_LINEOUT);
 }
 
+static void da7219_aad_jack_det_work(struct work_struct *work)
+{
+	struct da7219_aad_priv *da7219_aad =
+		container_of(work, struct da7219_aad_priv, jack_det_work);
+	struct snd_soc_component *component = da7219_aad->component;
+	u8 srm_st;
+
+	mutex_lock(&da7219_aad->jack_det_mutex);
+
+	srm_st = snd_soc_component_read(component, DA7219_PLL_SRM_STS) & DA7219_PLL_SRM_STS_MCLK;
+	msleep(da7219_aad->gnd_switch_delay * ((srm_st == 0x0) ? 2 : 1) - 4);
+	/* Enable ground switch */
+	snd_soc_component_update_bits(component, 0xFB, 0x01, 0x01);
+
+	mutex_unlock(&da7219_aad->jack_det_mutex);
+}
+
 
 /*
  * IRQ
  */
 
+static irqreturn_t da7219_aad_pre_irq_thread(int irq, void *data)
+{
+
+	struct da7219_aad_priv *da7219_aad = data;
+
+	if (!da7219_aad->jack_inserted)
+		schedule_work(&da7219_aad->jack_det_work);
+
+	return IRQ_WAKE_THREAD;
+}
+
 static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
 {
 	struct da7219_aad_priv *da7219_aad = data;
@@ -351,14 +379,9 @@ static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
 	struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
 	struct da7219_priv *da7219 = snd_soc_component_get_drvdata(component);
 	u8 events[DA7219_AAD_IRQ_REG_MAX];
-	u8 statusa, srm_st;
+	u8 statusa;
 	int i, report = 0, mask = 0;
 
-	srm_st = snd_soc_component_read(component, DA7219_PLL_SRM_STS) & DA7219_PLL_SRM_STS_MCLK;
-	msleep(da7219_aad->gnd_switch_delay * ((srm_st == 0x0) ? 2 : 1) - 4);
-	/* Enable ground switch */
-	snd_soc_component_update_bits(component, 0xFB, 0x01, 0x01);
-
 	/* Read current IRQ events */
 	regmap_bulk_read(da7219->regmap, DA7219_ACCDET_IRQ_EVENT_A,
 			 events, DA7219_AAD_IRQ_REG_MAX);
@@ -377,6 +400,9 @@ static irqreturn_t da7219_aad_irq_thread(int irq, void *data)
 		events[DA7219_AAD_IRQ_REG_A], events[DA7219_AAD_IRQ_REG_B],
 		statusa);
 
+	if (!da7219_aad->jack_inserted)
+		cancel_work_sync(&da7219_aad->jack_det_work);
+
 	if (statusa & DA7219_JACK_INSERTION_STS_MASK) {
 		/* Jack Insertion */
 		if (events[DA7219_AAD_IRQ_REG_A] &
@@ -940,8 +966,9 @@ int da7219_aad_init(struct snd_soc_component *component)
 
 	INIT_WORK(&da7219_aad->btn_det_work, da7219_aad_btn_det_work);
 	INIT_WORK(&da7219_aad->hptest_work, da7219_aad_hptest_work);
+	INIT_WORK(&da7219_aad->jack_det_work, da7219_aad_jack_det_work);
 
-	ret = request_threaded_irq(da7219_aad->irq, NULL,
+	ret = request_threaded_irq(da7219_aad->irq, da7219_aad_pre_irq_thread,
 				   da7219_aad_irq_thread,
 				   IRQF_TRIGGER_LOW | IRQF_ONESHOT,
 				   "da7219-aad", da7219_aad);
diff --git a/sound/soc/codecs/da7219-aad.h b/sound/soc/codecs/da7219-aad.h
index 21fdf53095cc..be87ee47edde 100644
--- a/sound/soc/codecs/da7219-aad.h
+++ b/sound/soc/codecs/da7219-aad.h
@@ -11,6 +11,7 @@
 #define __DA7219_AAD_H
 
 #include <linux/timer.h>
+#include <linux/mutex.h>
 #include <sound/soc.h>
 #include <sound/jack.h>
 #include <sound/da7219-aad.h>
@@ -196,6 +197,9 @@ struct da7219_aad_priv {
 
 	struct work_struct btn_det_work;
 	struct work_struct hptest_work;
+	struct work_struct jack_det_work;
+
+	struct mutex  jack_det_mutex;
 
 	struct snd_soc_jack *jack;
 	bool micbias_resume_enable;
-- 
2.17.1
                    
                  
                  
                          
                            
                            4
                            
                          
                          
                            
                            5
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [PATCHv2] hda/hdmi: Register with vga_switcheroo on Dual GPU Macbooks
                        
                        
by Orlando Chamberlain 16 Feb '23
                    by Orlando Chamberlain 16 Feb '23
16 Feb '23
                    
                        Commit 586bc4aab878 ("ALSA: hda/hdmi - fix vgaswitcheroo detection for
AMD") caused only AMD gpu's with PX to have their audio component register
with vga_switcheroo. This meant that Apple Macbooks with apple-gmux as the
gpu switcher no longer had the audio client registering, so when the gpu is
powered off by vga_switcheroo snd_hda_intel is unaware that it should have
suspended the device:
amdgpu: switched off
snd_hda_intel 0000:03:00.1:
    Unable to change power state from D3hot to D0, device inaccessible
snd_hda_intel 0000:03:00.1: CORB reset timeout#2, CORBRP = 65535
To resolve this, we use apple_gmux_detect() and register a
vga_switcheroo audio client when apple-gmux is detected.
Fixes: 586bc4aab878 ("ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD")
Link: https://lore.kernel.org/all/20230210044826.9834-9-orlandoch.dev@gmail.com/
Signed-off-by: Orlando Chamberlain <orlandoch.dev(a)gmail.com>
---
v1->v2: Use apple_gmux_detect(), split this patch out of the patch
series
 sound/pci/hda/hda_intel.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 87002670c0c9..cfd2ddfde112 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -50,6 +50,7 @@
 #include <sound/intel-dsp-config.h>
 #include <linux/vgaarb.h>
 #include <linux/vga_switcheroo.h>
+#include <linux/apple-gmux.h>
 #include <linux/firmware.h>
 #include <sound/hda_codec.h>
 #include "hda_controller.h"
@@ -1463,7 +1464,7 @@ static struct pci_dev *get_bound_vga(struct pci_dev *pci)
 				 * vgaswitcheroo.
 				 */
 				if (((p->class >> 16) == PCI_BASE_CLASS_DISPLAY) &&
-				    atpx_present())
+				    (atpx_present() || apple_gmux_detect(NULL, NULL)))
 					return p;
 				pci_dev_put(p);
 			}
-- 
2.39.1
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                     
                        
                    16 Feb '23
                    
                        Hi,
This series adds support for audio using the QMC controller available in
some Freescale PowerQUICC SoCs.
This series contains three parts in order to show the different blocks
hierarchy and their usage in this support.
The first one is related to TSA (Time Slot Assigner).
The TSA handles the data present at the pin level (TDM with up to 64
time slots) and dispatchs them to one or more serial controller (SCC).
The second is related to QMC (QUICC Multichannel Controller).
The QMC handles the data at the serial controller (SCC) level and splits
again the data to creates some virtual channels.
The last one is related to the audio component (QMC audio).
It is the glue between the QMC controller and the ASoC component. It
handles one or more QMC virtual channels and creates one DAI per QMC
virtual channels handled.
Compared to the previous iteration
  https://lore.kernel.org/linux-kernel/20230113103759.327698-1-herve.codina@b…
this v4 series mainly:
  - updates code comment format (feedback received on v2 series and
    forgot to update in v3),
  - fixes bindings,
  - Replaces the fsl,tsa phandle and the fsl,tsa-cell-id property by a
    fsl,tsa-serial phandle and update the TSA related API,
  - Adds some missing lock in tsa_serial_connect() and
    tsa_serial_disconnect().
Best regards,
Herve Codina
Changes v3 -> v4
  - patches 2, 6 and 9
    Update code comment format.
  - patch 1
    Fix some description formats.
    Add 'additionalProperties: false' in subnode.
    Move fsl,mode to fsl,diagnostic-mode.
    Change clocks and clock-names properties.
    Add '#serial-cells' property related to the newly introduced
    fsl,tsa-serial phandle.
  - patch 2
    Move fsl,mode to fsl,diagnostic-mode.
    Replace the	fsl,tsa phandle and the	fsl,tsa-cell-id	property by a
    fsl,tsa-serial phandle and update the related API.
    Add missing locks.
  - patch 5
    Fix some description format.
    Replace the fsl,tsa phandle and the fsl,tsa-cell-id property by a
    fsl,tsa-serial phandle.
    Rename fsl,mode to fsl,operational-mode and update its description.
  - patch 6
    Replace the	fsl,tsa phandle and the	fsl,tsa-cell-id	property by a
    fsl,tsa-serial phandle and use the TSA updated API.
    Rename fsl,mode to fsl,operational-mode.
  - patch 8
    Add 'Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski(a)linaro.org>'
Changes v2 -> v3
  - All bindings
    Rename fsl-tsa.h to fsl,tsa.h
    Add missing vendor prefix
    Various fixes (quotes, node names, upper/lower case)
  - patches 1 and 2 (TSA binding specific)
    Remove 'reserved' values in the routing tables
    Remove fsl,grant-mode
    Add a better description for 'fsl,common-rxtx-pins'
    Fix clocks/clocks-name handling against fsl,common-rxtx-pins
    Add information related to the delays unit
    Removed FSL_CPM_TSA_NBCELL
    Fix license in binding header file fsl,tsa.h
  - patches 5 and 6 (QMC binding specific)
    Remove fsl,cpm-command property
    Add interrupt property constraint
  - patches 8 and 9 (QMC audio binding specific)
    Remove 'items' in compatible property definition
    Add missing 'dai-common.yaml' reference
    Fix the qmc_chan phandle definition
  - patch 2 and 6
    Use io{read,write}be{32,16}
    Change commit subjects and logs
  - patch 4
    Add 'Acked-by: Christophe Leroy <christophe.leroy(a)csgroup.eu>'
Changes v1 -> v2:
  - patch 2 and 6
    Fix kernel test robot errors
  - other patches
    No changes
Herve Codina (10):
  dt-bindings: soc: fsl: cpm_qe: Add TSA controller
  soc: fsl: cpm1: Add support for TSA
  MAINTAINERS: add the Freescale TSA controller entry
  powerpc/8xx: Use a larger CPM1 command check mask
  dt-bindings: soc: fsl: cpm_qe: Add QMC controller
  soc: fsl: cmp1: Add support for QMC
  MAINTAINERS: add the Freescale QMC controller entry
  dt-bindings: sound: Add support for QMC audio
  ASoC: fsl: Add support for QMC audio
  MAINTAINERS: add the Freescale QMC audio entry
 .../bindings/soc/fsl/cpm_qe/fsl,qmc.yaml      |  167 ++
 .../bindings/soc/fsl/cpm_qe/fsl,tsa.yaml      |  261 +++
 .../bindings/sound/fsl,qmc-audio.yaml         |  117 ++
 MAINTAINERS                                   |   25 +
 arch/powerpc/platforms/8xx/cpm1.c             |    2 +-
 drivers/soc/fsl/qe/Kconfig                    |   23 +
 drivers/soc/fsl/qe/Makefile                   |    2 +
 drivers/soc/fsl/qe/qmc.c                      | 1533 +++++++++++++++++
 drivers/soc/fsl/qe/tsa.c                      |  864 ++++++++++
 drivers/soc/fsl/qe/tsa.h                      |   42 +
 include/dt-bindings/soc/fsl,tsa.h             |   13 +
 include/soc/fsl/qe/qmc.h                      |   71 +
 sound/soc/fsl/Kconfig                         |    9 +
 sound/soc/fsl/Makefile                        |    2 +
 sound/soc/fsl/fsl_qmc_audio.c                 |  735 ++++++++
 15 files changed, 3865 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qmc.yaml
 create mode 100644 Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,tsa.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml
 create mode 100644 drivers/soc/fsl/qe/qmc.c
 create mode 100644 drivers/soc/fsl/qe/tsa.c
 create mode 100644 drivers/soc/fsl/qe/tsa.h
 create mode 100644 include/dt-bindings/soc/fsl,tsa.h
 create mode 100644 include/soc/fsl/qe/qmc.h
 create mode 100644 sound/soc/fsl/fsl_qmc_audio.c
-- 
2.39.0
                    
                  
                  
                          
                            
                            6
                            
                          
                          
                            
                            22
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [linux-next:master] BUILD REGRESSION 9d9019bcea1aac7eed64a1a4966282b6b7b141c8
                        
                        
by kernel test robot 16 Feb '23
                    by kernel test robot 16 Feb '23
16 Feb '23
                    
                        tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
branch HEAD: 9d9019bcea1aac7eed64a1a4966282b6b7b141c8  Add linux-next specific files for 20230215
Error/Warning reports:
https://lore.kernel.org/oe-kbuild-all/202301300743.bp7Dpazv-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302061911.C7xvHX9v-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302062224.ByzeTXh1-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302092211.54EYDhYH-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302111601.jtY4lKrA-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302112104.g75cGHZd-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302142145.iN5WZnpF-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151041.0SWs1RHK-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151109.xlBpZKUS-lkp@intel.com
https://lore.kernel.org/oe-kbuild-all/202302151751.DTeft5Fn-lkp@intel.com
Error/Warning: (recently discovered and may have been fixed)
Documentation/admin-guide/pm/amd-pstate.rst:343: WARNING: duplicate label admin-guide/pm/amd-pstate:user space interface in ``sysfs``, other instance in Documentation/admin-guide/pm/amd-pstate.rst
Documentation/riscv/uabi.rst:24: WARNING: Enumerated list ends without a blank line; unexpected unindent.
Documentation/sphinx/templates/kernel-toc.html: 1:36 Invalid token: #}
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/fsl-edma.ko] undefined!
ERROR: modpost: "devm_platform_ioremap_resource" [drivers/dma/idma64.ko] undefined!
ERROR: modpost: "walk_hmem_resources" [drivers/dax/hmem/dax_hmem.ko] undefined!
arch/mips/kernel/vpe.c:643:41: error: 'struct module' has no member named 'mod_mem'
drivers/cxl/core/region.c:2628:6: warning: variable 'rc' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn30/dcn30_optc.c:294:6: warning: no previous prototype for 'optc3_wait_drr_doublebuffer_pending_clear' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn31/dcn31_hubbub.c:1011:6: warning: no previous prototype for 'hubbub31_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_hubbub.c:948:6: warning: no previous prototype for 'hubbub32_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_hubp.c:158:6: warning: no previous prototype for 'hubp32_init' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn32/dcn32_resource_helpers.c:62:18: warning: variable 'cursor_bpp' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_detection.c:1199: warning: expecting prototype for dc_link_detect_connection_type(). Prototype was for link_detect_connection_type() instead
drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_capability.c:1292:32: warning: variable 'result_write_min_hblank' set but not used [-Wunused-but-set-variable]
drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_dp_training.c:1586:38: warning: variable 'result' set but not used [-Wunused-but-set-variable]
idma64.c:(.text+0x7c): undefined reference to `devm_platform_ioremap_resource'
Unverified Error/Warning (likely false positive, please contact us if interested):
drivers/clk/ingenic/jz4760-cgu.c:80 jz4760_cgu_calc_m_n_od() error: uninitialized symbol 'od'.
drivers/hid/hid-sony.c:1726:41: warning: Uninitialized variables: entry.lock, entry.list_node, entry.hdev, entry.touchpad, entry.sensor_dev, entry.quirks, entry.state_worker, entry.send_output_report, entry.battery, entry.battery_desc, entry.device_id, entry.output_report_dmabuf, entry.state_worker_initialized, entry.defer_initialization, entry.battery_capacity, entry.battery_status, entry.led_count, entry.ghl_urb, entry.ghl_poke_timer [uninitvar]
drivers/usb/gadget/composite.c:2082:33: sparse: sparse: restricted __le16 degrades to integer
drivers/usb/host/xhci-plat.c:371 xhci_generic_plat_probe() error: we previously assumed 'sysdev' could be null (see line 361)
sound/soc/soc-ac97.c:339 snd_soc_ac97_parse_pinctl() warn: passing zero to 'PTR_ERR'
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- alpha-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- alpha-randconfig-r033-20230212
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arc-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- arm64-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn30-dcn30_optc.c:warning:no-previous-prototype-for-optc3_wait_drr_doublebuffer_pending_clear
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn31-dcn31_hubbub.c:warning:no-previous-prototype-for-hubbub31_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubbub.c:warning:no-previous-prototype-for-hubbub32_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubp.c:warning:no-previous-prototype-for-hubp32_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_resource_helpers.c:warning:variable-cursor_bpp-set-but-not-used
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- i386-allyesconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn30-dcn30_optc.c:warning:no-previous-prototype-for-optc3_wait_drr_doublebuffer_pending_clear
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn31-dcn31_hubbub.c:warning:no-previous-prototype-for-hubbub31_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubbub.c:warning:no-previous-prototype-for-hubbub32_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_hubp.c:warning:no-previous-prototype-for-hubp32_init
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dcn32-dcn32_resource_helpers.c:warning:variable-cursor_bpp-set-but-not-used
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
|   `-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_training.c:warning:variable-result-set-but-not-used
|-- i386-randconfig-c001
|   `-- net-sched-act_pedit.c:WARNING-opportunity-for-kmemdup
|-- i386-randconfig-s001
|   |-- drivers-gpu-drm-i915-gem-i915_gem_ttm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-vm_fault_t-assigned-usertype-ret-got-int
|   `-- drivers-usb-gadget-composite.c:sparse:sparse:restricted-__le16-degrades-to-integer
|-- i386-randconfig-s002
|   `-- drivers-gpu-drm-i915-gem-i915_gem_ttm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-restricted-vm_fault_t-assigned-usertype-ret-got-int
|-- i386-randconfig-s003
|   `-- drivers-usb-gadget-composite.c:sparse:sparse:restricted-__le16-degrades-to-integer
|-- ia64-allmodconfig
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-link_detection.c:warning:expecting-prototype-for-dc_link_detect_connection_type().-Prototype-was-for-link_detect_connection_type()-instead
|   |-- drivers-gpu-drm-amd-amdgpu-..-display-dc-link-protocols-link_dp_capability.c:warning:variable-result_write_min_hblank-set-but-not-used
clang_recent_errors
|-- arm-randconfig-r005-20230212
|   `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
|-- s390-randconfig-r001-20230213
|   `-- idma64.c:(.text):undefined-reference-to-devm_platform_ioremap_resource
|-- x86_64-randconfig-a002-20230213
|   `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
|-- x86_64-randconfig-a004-20230213
|   `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
`-- x86_64-randconfig-a005-20230213
    `-- drivers-cxl-core-region.c:warning:variable-rc-is-used-uninitialized-whenever-if-condition-is-false
elapsed time: 1294m
configs tested: 108
configs skipped: 7
gcc tested configs:
alpha                            allyesconfig
alpha                               defconfig
arc                              allyesconfig
arc                                 defconfig
arc                        nsim_700_defconfig
arc                  randconfig-r043-20230212
arc                  randconfig-r043-20230213
arm                              allmodconfig
arm                              allyesconfig
arm                                 defconfig
arm                  randconfig-r046-20230212
arm                           u8500_defconfig
arm64                            allyesconfig
arm64                               defconfig
csky                                defconfig
i386                             allyesconfig
i386                              debian-10.3
i386                                defconfig
i386                 randconfig-a011-20230213
i386                 randconfig-a012-20230213
i386                 randconfig-a013-20230213
i386                 randconfig-a014-20230213
i386                 randconfig-a015-20230213
i386                 randconfig-a016-20230213
i386                          randconfig-c001
ia64                             allmodconfig
ia64                                defconfig
loongarch                        allmodconfig
loongarch                         allnoconfig
loongarch                           defconfig
m68k                             allmodconfig
m68k                             allyesconfig
m68k                                defconfig
m68k                        mvme147_defconfig
m68k                          sun3x_defconfig
mips                             allmodconfig
mips                             allyesconfig
mips                            ar7_defconfig
mips                 decstation_r4k_defconfig
mips                           gcw0_defconfig
mips                           xway_defconfig
nios2                            allyesconfig
nios2                               defconfig
openrisc                            defconfig
parisc                              defconfig
parisc64                            defconfig
powerpc                          allmodconfig
powerpc                           allnoconfig
powerpc                          allyesconfig
powerpc                      mgcoge_defconfig
powerpc                     stx_gp3_defconfig
powerpc                     tqm8548_defconfig
riscv                            allmodconfig
riscv                             allnoconfig
riscv                            allyesconfig
riscv                               defconfig
riscv                randconfig-r042-20230213
riscv                          rv32_defconfig
s390                             allmodconfig
s390                             allyesconfig
s390                                defconfig
s390                 randconfig-r044-20230213
sh                               allmodconfig
sh                        dreamcast_defconfig
sh                          rsk7264_defconfig
sh                           se7712_defconfig
sparc                               defconfig
um                             i386_defconfig
um                           x86_64_defconfig
x86_64                            allnoconfig
x86_64                           allyesconfig
x86_64                              defconfig
x86_64                                  kexec
x86_64               randconfig-a011-20230213
x86_64               randconfig-a012-20230213
x86_64               randconfig-a013-20230213
x86_64               randconfig-a014-20230213
x86_64               randconfig-a015-20230213
x86_64               randconfig-a016-20230213
x86_64                               rhel-8.3
xtensa                           allyesconfig
xtensa                    smp_lx200_defconfig
clang tested configs:
arm                        multi_v5_defconfig
arm                  randconfig-r046-20230213
hexagon              randconfig-r041-20230212
hexagon              randconfig-r041-20230213
hexagon              randconfig-r045-20230212
hexagon              randconfig-r045-20230213
i386                 randconfig-a001-20230213
i386                 randconfig-a002-20230213
i386                 randconfig-a003-20230213
i386                 randconfig-a004-20230213
i386                 randconfig-a005-20230213
i386                 randconfig-a006-20230213
mips                      malta_kvm_defconfig
mips                 randconfig-c004-20230212
powerpc                 mpc8313_rdb_defconfig
powerpc                      ppc44x_defconfig
powerpc              randconfig-c003-20230212
riscv                randconfig-r042-20230212
s390                 randconfig-r044-20230212
x86_64               randconfig-a001-20230213
x86_64               randconfig-a002-20230213
x86_64               randconfig-a003-20230213
x86_64               randconfig-a004-20230213
x86_64               randconfig-a005-20230213
x86_64               randconfig-a006-20230213
x86_64                        randconfig-k001
-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
                    
                  
                  
                          
                            
                            1
                            
                          
                          
                            
                            0
                            
                          
                          
                            
    
                          
                        
                     
                        
                    
                        
                            
                                
                            
                            [PATCH v2] ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
                        
                        
by Lucas Tanure 16 Feb '23
                    by Lucas Tanure 16 Feb '23
16 Feb '23
                    
                        Add struct snd_pcm_substream forward declaration
Fixes: 078a85f2806f ("ASoC: dapm: Only power up active channels from a DAI")
Signed-off-by: Lucas Tanure <lucas.tanure(a)collabora.com>
---
Changes since v1:
- Use forward declaration instead of header sound/pcm.h
---
 include/sound/soc-dapm.h | 1 +
 1 file changed, 1 insertion(+)
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 77495e5988c1..64915ebd641e 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -16,6 +16,7 @@
 #include <sound/asoc.h>
 
 struct device;
+struct snd_pcm_substream;
 struct snd_soc_pcm_runtime;
 struct soc_enum;
 
-- 
2.39.1
                    
                  
                  
                          
                            
                            4
                            
                          
                          
                            
                            3
                            
                          
                          
                            
    
                          
                        
                    
                    
                        With the switching to dev_err_probe(), during the conversion
of GPIO calls, the return code is passed is a paratemer to it.
At the same time a copy'n'paste mistake was made, so the wrong
variable has been taken for the error reporting. Fix this.
Fixes: 3ee0d39c50dc ("ASoC: soc-ac97: Convert to agnostic GPIO API")
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <error27(a)gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
---
 sound/soc/soc-ac97.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c
index 40051f513c6a..4e4fe29ade50 100644
--- a/sound/soc/soc-ac97.c
+++ b/sound/soc/soc-ac97.c
@@ -336,12 +336,12 @@ static int snd_soc_ac97_parse_pinctl(struct device *dev,
 
 	cfg->sdata_gpio = devm_gpiod_get_index(dev, "ac97", 1, GPIOD_ASIS);
 	if (IS_ERR(cfg->sdata_gpio))
-		return dev_err_probe(dev, PTR_ERR(cfg->sync_gpio), "Can't find ac97-sdata gpio\n");
+		return dev_err_probe(dev, PTR_ERR(cfg->sdata_gpio), "Can't find ac97-sdata gpio\n");
 	gpiod_set_consumer_name(cfg->sdata_gpio, "AC97 link sdata");
 
 	cfg->reset_gpio = devm_gpiod_get_index(dev, "ac97", 2, GPIOD_ASIS);
 	if (IS_ERR(cfg->reset_gpio))
-		return dev_err_probe(dev, PTR_ERR(cfg->sync_gpio), "Can't find ac97-reset gpio\n");
+		return dev_err_probe(dev, PTR_ERR(cfg->reset_gpio), "Can't find ac97-reset gpio\n");
 	gpiod_set_consumer_name(cfg->reset_gpio, "AC97 link reset");
 
 	return 0;
-- 
2.39.1
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            1
                            
                          
                          
                            
    
                          
                        
                    
                    
                        There is no reason to have a separate module for the tables file it just
holds regmap callbacks and register patches used by the main part of the
driver. Remove the separate module and merge it into the main driver
module.
Signed-off-by: Charles Keepax <ckeepax(a)opensource.cirrus.com>
---
Changes since v1:
 - Remove module macros as the bottom of cs35l45-tables.c
 sound/soc/codecs/Kconfig          | 5 -----
 sound/soc/codecs/Makefile         | 4 +---
 sound/soc/codecs/cs35l45-tables.c | 4 ----
 3 files changed, 1 insertion(+), 12 deletions(-)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 4621674e68bf1..bd72c426a93d1 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -688,9 +688,6 @@ config SND_SOC_CS35L41_I2C
 	select SND_SOC_CS35L41
 	select REGMAP_I2C
 
-config SND_SOC_CS35L45_TABLES
-	tristate
-
 config SND_SOC_CS35L45
 	tristate
 
@@ -699,7 +696,6 @@ config SND_SOC_CS35L45_SPI
 	depends on SPI_MASTER
 	select REGMAP
 	select REGMAP_SPI
-	select SND_SOC_CS35L45_TABLES
 	select SND_SOC_CS35L45
 	help
 	  Enable support for Cirrus Logic CS35L45 smart speaker amplifier
@@ -710,7 +706,6 @@ config SND_SOC_CS35L45_I2C
 	depends on I2C
 	select REGMAP
 	select REGMAP_I2C
-	select SND_SOC_CS35L45_TABLES
 	select SND_SOC_CS35L45
 	help
 	  Enable support for Cirrus Logic CS35L45 smart speaker amplifier
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index a0a61554548eb..f1ca18f7946ca 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -63,8 +63,7 @@ snd-soc-cs35l41-lib-objs := cs35l41-lib.o
 snd-soc-cs35l41-objs := cs35l41.o
 snd-soc-cs35l41-spi-objs := cs35l41-spi.o
 snd-soc-cs35l41-i2c-objs := cs35l41-i2c.o
-snd-soc-cs35l45-tables-objs := cs35l45-tables.o
-snd-soc-cs35l45-objs := cs35l45.o
+snd-soc-cs35l45-objs := cs35l45.o cs35l45-tables.o
 snd-soc-cs35l45-spi-objs := cs35l45-spi.o
 snd-soc-cs35l45-i2c-objs := cs35l45-i2c.o
 snd-soc-cs42l42-objs := cs42l42.o
@@ -431,7 +430,6 @@ obj-$(CONFIG_SND_SOC_CS35L41)	+= snd-soc-cs35l41.o
 obj-$(CONFIG_SND_SOC_CS35L41_LIB)	+= snd-soc-cs35l41-lib.o
 obj-$(CONFIG_SND_SOC_CS35L41_SPI)	+= snd-soc-cs35l41-spi.o
 obj-$(CONFIG_SND_SOC_CS35L41_I2C)	+= snd-soc-cs35l41-i2c.o
-obj-$(CONFIG_SND_SOC_CS35L45_TABLES)	+= snd-soc-cs35l45-tables.o
 obj-$(CONFIG_SND_SOC_CS35L45)	+= snd-soc-cs35l45.o
 obj-$(CONFIG_SND_SOC_CS35L45_SPI)	+= snd-soc-cs35l45-spi.o
 obj-$(CONFIG_SND_SOC_CS35L45_I2C)	+= snd-soc-cs35l45-i2c.o
diff --git a/sound/soc/codecs/cs35l45-tables.c b/sound/soc/codecs/cs35l45-tables.c
index 5a2c2e684ef9f..5a2f47ca57716 100644
--- a/sound/soc/codecs/cs35l45-tables.c
+++ b/sound/soc/codecs/cs35l45-tables.c
@@ -196,7 +196,3 @@ unsigned int cs35l45_get_clk_freq_id(unsigned int freq)
 	return -EINVAL;
 }
 EXPORT_SYMBOL_NS_GPL(cs35l45_get_clk_freq_id, SND_SOC_CS35L45_TABLES);
-
-MODULE_DESCRIPTION("ASoC CS35L45 driver tables");
-MODULE_AUTHOR("James Schulman, Cirrus Logic Inc, <james.schulman(a)cirrus.com>");
-MODULE_LICENSE("Dual BSD/GPL");
-- 
2.30.2
                    
                  
                  
                          
                            
                            2
                            
                          
                          
                            
                            2
                            
                          
                          
                            
    
                          
                        
                     
                        
                     
                        
                     
                        
                    