linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] sound updates for 4.17-rc1
@ 2018-04-05  8:27 Takashi Iwai
  2018-04-05 17:50 ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-04-05  8:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, linux-kernel

Linus,

please pull sound updates for v4.17-rc1 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.17-rc1

The topmost commit is a820ccbe21e8ce8e86c39cd1d3bc8c7d1cbb949b

----------------------------------------------------------------

sound updates for 4.17-rc1

This became a large update.  The changes are scattered widely,
and majority of them are attributed to ASoC componentization.
The gitk output made me dizzy, but it's slightly better than
London tube.

OK, below are some highlights:

- Continued hardening works in ALSA PCM core; most of the
  existing syzkaller reports should have been covered.

- USB-audio got the initial USB Audio Class 3 support, as well
  as UAC2 jack detection support and more DSD-device support.

- ASoC componentization: finally each individual driver was
  converted to components framework, which is more future-proof
  for further works.  Most of conversations were systematic.

- Lots of fixes for Intel Baytrail / Cherrytrail devices with
  Realtek codecs, typically tablets and small PCs.

- Fixes / cleanups for Samsung Odroid systems

- Cleanups in Freescale SSI driver

- New ASoC drivers:
  * AKM AK4458 and AK5558 codecs
  * A few AMD based machine drivers
  * Intel Kabylake machine drivers
  * Maxim MAX9759 codec
  * Motorola CPCAP codec
  * Socionext Uniphier SoCs
  * TI PCM1789 and TDA7419 codecs

- Retirement of Blackfin drivers along with architecture removal.

----------------------------------------------------------------

Abhijeet Kumar (4):
      ALSA: hda: Copying sync power state helper to core
      ALSA: hda: Make use of core codec functions to sync power state
      ASoC: hdac_hdmi : Ensuring proper setting of output widget power state
      ASoC: Intel: Skylake: Fix typo

Adam Thomson (2):
      ASoC: da7219: Add common clock usage for providing DAI clks
      ASoC: da7219: clkdev_drop usage depends on CONFIG_COMMON_CLK

Akshu Agrawal (5):
      ASoC: AMD: Add machine driver for ST DA7219 MAX98357
      ASoC: dwc: Extends DW_I2S_QUIRK_COMP_PARAM1 to playback
      ASoC: ADAU7002: Adding ACPI id
      ASoC: amd: Use single dai for da7219 playback and capture
      ASoC: amd: Enable da7219 master clock using common clock framework

Andrew Chant (3):
      ALSA: usb-audio: fix uac control query argument
      ALSA: usb-audio: UAC2 jack detection
      ALSA: usb-audio: update clock valid control

Arnd Bergmann (1):
      ASoC: remove blackfin drivers

Bard Liao (6):
      ASoC: rt5665: remove rt5668 support
      ASoC: rt5659: fix wrong bit define for ADC L2 power.
      ASoC: rt5659: fix wrong control register for ADC2 power
      ASoC: rt5659: Separate adc 1/2 clock control
      ASoC: rt286: don't turn off HV and VREF if headset is detected
      ASoC: rt298: don't turn off HV and VREF if headset is detected

Charles Keepax (2):
      ASoC: arizona: Fixup some minor formatting issues
      ASoC: wm_adsp: Support streams which can start/stop with DSP active

Colin Ian King (9):
      ASoC: Intel: Skylake: make function skl_clk_round_rate static
      ASoC: uniphier: remove redundant check of blk_id
      ASoC: TSCS42xx: make const array norm_addrs static, reduces object code size
      ASoC: sirf: remove duplicated bit-wise or of USP_RXFIFO_THD_INT
      ASoC: pxa: remove duplicated bit-wise or of SNDRV_PCM_FMTBIT_S24_LE
      ASoC: cygnus: remove redundant assignment to pointer 'res'
      ALSA: echoaudio: remove redundant initialization of pointer 'pipe'
      ASoC: da7219: make structure da7219_dai_clks_ops static
      ALSA: usb-audio: fix memory leak on cval

Corentin Labbe (2):
      ASoC: samsung: clean makefile about inexistant files
      ASoC: sn95031: remove dead makefile about sn95031

Cosmin-Gabriel Samoila (4):
      ASoC: ak4458: Add support for AK4458 DAC driver
      ASoC: ak4458: Add bindings for AK4458 DAC
      ASoC: ak4458: Modify SPDX license format
      ASoC: ak4458: Sort headers alphabetically

Dan Carpenter (2):
      ASoC: uniphier: fix an error code in uniphier_aio_comprdma_new()
      ALSA: usb-audio: silence a static checker warning

Daniel Baluta (3):
      ASoC: ak5558: Add support for AK5558 ADC driver
      ASoC: ak5558: Add bindings for AK5558 ADC
      ASoC: ak5558: Fix style for SPDX identifier

Ezequiel Garcia (3):
      ASoC: rockchip: Fix dai_name for HDMI codec
      ASoC: rockchip: Fix compatible string in example
      ASoC: rockchip: rk3288-hdmi-analog: Select needed codecs

Fabio Estevam (17):
      ASoC: fsl-asoc-card: Use 'snd_pcm_format_t' type when appropriate
      ASoC: fsl_esai: Use 'const _be *' type for iprop
      ASoC: fsl_utils: Use 'const _be *' type for iprop
      ASoC: fsl_ssi: Use 'const _be *' type for iprop
      ASoC: wm9712: Use empty struct initializer
      ASoC: tlv320aic3x: Use empty struct initializer
      ASoC: adau17x1: Use empty struct initializer
      ASoC: wm9713: Use empty struct initializer
      ASoC: soc-dapm: Use empty struct initializer
      ASoC: soc-generic-dmaengine-pcm: Add a DMA debugfs_prefix entry
      ASoC: soc-generic-dmaengine-pcm: Fix error handling
      ASoC: soc-generic-dmaengine-pcm: Fix sparse warnings
      ASoC: Revert "ASoC: soc-generic-dmaengine-pcm: Fix error handling"
      ASoC: imx-wm8962: Remove machine driver
      ASoC: wm8524: Remove unit address
      ASoC: sgtl5000: Pass the required '#sound-dai-cells'
      ASoC: tscs42xx: Remove owner assignment from i2c_driver

Geert Uytterhoeven (3):
      ASoC: rt5514: Fix rt5514_spi_burst_read() buffer passing
      ASoC: rt5514: Fix uninitialized calibration value
      ASoC: rsnd: Document R-Car M3-W support

Guneshwor Singh (2):
      ASoC: Intel: Skylake: Refine skl widget type check
      ALSA: hda: Add Icelake PCI ID

Hans de Goede (45):
      ASoC: Intel: sst: Fix error-code check in sst_pause_stream()
      ASoC: Intel: sst: Remove 2 unused members from stream_info struct
      ASoC: Intel: sst: Remove unnecessary sst_init_stream() function
      ASoC: Intel: sst: Remove unused STREAM_DECODE and STREAM_RESET states
      ASoC: Intel: sst: Add sst_realloc_stream() function
      ASoC: Intel: sst: Free streams on suspend, re-alloc on resume
      ASoC: rt5651: Remove unused rt5651_platform_data
      ASoC: rt5651: Move all jack-detect initialization to rt5651_set_jack_detect
      ASoC: rt5651: Move 2 functions higher up in rt5651.c
      ASoC: rt5651: Use standard component set_jack callback
      ASoC: rt5651: Add rt5651_apply_properties() helper function
      ASoC: rt5651: Remove is_sys_clk_from_pll()
      ASoC: rt5651: Fix bias_level confusion
      ASoC: rt5651: Do not modify the LDO voltage control bits from set_bias_level()
      ASoC: rt5651: Do not modify jd and PLL power bits from set_bias_level()
      ASoC: rt5651: Remove programming of PWR regs before force_bias_level() call
      ASoC: rt5651: Only configure LDO voltage once at boot
      ASoC: rt5651: Remove "JD Power" dapm supply
      ASoC: rt5651: Enable LDO and micbias1 supplies for jack-type detection
      ASoC: rt5651: Only configure OVCD once at set_jack time
      ASoC: rt5651: Always keep OVCD enabled
      ASoC: rt5651: Make rt5651_apply_properties() private
      ASoC: rt5651: Add devicetree-bindings for jack-detect
      ASoC: rt5651: Configure jack-detect source through a device-property
      ASoC: rt5651: Allow specifying over-current threshold through a device-property
      ASoC: rt5651: Allow specifying the OVCD scale-factor through a device-property
      ASoC: rt5651: Enable sticky mode for OVCD
      ASoC: rt5651: Enable Platform Clock during jack-type detect
      ASoC: rt5651: Add rt5651_jack_inserted() helper
      ASoC: rt5651: Rewrite jack-type detection
      ASoC: Intel: bytcr_rt5651: Not being able to find the codec ACPI-dev is an error
      ASoC: Intel: bytcr_rt5651: Pass jack-src info via device-properties
      ASoC: Intel: bytcr_rt5651: Actually honor the DMIC_EN quirk if specified
      ASoC: Intel: bytcr_rt5651: Only create jack if we have a jack-detect source
      ASoC: Intel: bytcr_rt5651: Add quirk micbias OVCD configuration
      ASoC: Intel: bytcr_rt5651: Configure PLL1 before using it
      ASoC: Intel: bytcr_rt5651: Drop snd_soc_dai_set_bclk_ratio() call
      ASoC: Intel: bytcr_rt5651: Rename IN3_MAP to IN1_HS_IN3_MAP
      ASoC: Intel: bytcr_rt5651: Add new IN2_HS_IN3 input map and a quirk using it
      ASoC: Intel: bytcr_rt5651: Add support for Bay Trail CR / SSP0 using boards
      ASoC: Intel: bytcr_rt5651: Add quirk for the VIOS LTH17 laptop
      ASoC: Intel: bytcr_rt5651: Change defaults to enable jack-detect, analog mics
      ASoC: Intel: bytcr_rt5651: Select RCCLK on init()
      ASoC: rt5651: move definitions of dt-binding constants to include/dt-bindings
      ASoC: rt5651: Fix jack-dectect typo in the dt-bindings documentation

Jaejoong Kim (1):
      ALSA: Use scnprintf() instead of snprintf() for show

James Kelly (1):
      ASoC: ssm2602: Replace reg_default_raw with reg_default

Joey Pabalinas (1):
      ALSA: ice1712: replace strcpy() with strlcpy()

John Hsu (3):
      ASoC: Intel: add nau8824 sound card
      ASoC: Intel: fix argument error in nau8824 machine
      ASoC: nau8824: recover system clock when device changes

Katsuhiro Suzuki (15):
      ASoC: uniphier: add DT bindings documentation for UniPhier AIO
      ASoC: uniphier: add support for UniPhier AIO common driver
      ASoC: uniphier: add support for UniPhier AIO DMA driver
      ASoC: uniphier: add support for UniPhier AIO CPU DAI driver
      ASoC: uniphier: add support for UniPhier AIO compress audio
      ASoC: uniphier: add support for UniPhier LD11/LD20 AIO driver
      ASoC: uniphier: evea: fix typo 'eva' -> 'evea'
      ASoC: uniphier: evea: fix lisence comment style
      ASoC: uniphier: fix broken sound if use SRC in replay
      ASoC: add DT bindings documentation for ROHM BD28623 codec
      ASoC: support ROHM BD28623 codec
      ASoC: uniphier: add support for UniPhier PXs2 AIO
      ASoC: uniphier: evea: add switch for changing source of line-in
      ASoC: uniphier: add syscon property to binding document
      ASoC: uniphier: add syscon property for UniPhier sound system

Krzysztof Kozlowski (1):
      ASoC: samsung: Mark unused Odroid compatibles as deprecated

Kuninori Morimoto (243):
      ASoC: ac97: replace codec to component
      ASoC: wm0010: replace codec to component
      ASoC: wm8804: replace codec to component
      ASoC: cs4271: replace codec to component
      ASoC: wm2000: replace codec to component
      ASoC: wm2200: replace codec to component
      ASoC: wm5100: replace codec to component
      ASoC: wm8350: replace codec to component
      ASoC: wm8400: replace codec to component
      ASoC: wm8580: replace codec to component
      ASoC: wm8524: replace codec to component
      ASoC: wm8510: replace codec to component
      ASoC: wm8523: replace codec to component
      ASoC: wm8711: replace codec to component
      ASoC: wm8750: replace codec to component
      ASoC: wm8737: replace codec to component
      ASoC: wm8776: replace codec to component
      ASoC: wm8770: replace codec to component
      ASoC: wm8727: replace codec to component
      ASoC: wm8731: replace codec to component
      ASoC: wm8782: replace codec to component
      ASoC: wm8728: replace codec to component
      ASoC: wm8741: replace codec to component
      ASoC: wm8753: replace codec to component
      ASoC: wm8900: replace codec to component
      ASoC: wm8903: replace codec to component
      ASoC: wm8955: replace codec to component
      ASoC: wm8960: replace codec to component
      ASoC: wm8985: replace codec to component
      ASoC: wm8971: replace codec to component
      ASoC: wm8978: replace codec to component
      ASoC: wm8974: replace codec to component
      ASoC: wm8990: replace codec to component
      ASoC: wm8988: replace codec to component
      ASoC: wm8983: replace codec to component
      ASoC: wm8962: replace codec to component
      ASoC: wm8996: replace codec to component
      ASoC: wm8991: replace codec to component
      ASoC: wm8995: replace codec to component
      ASoC: wm8961: replace codec to component
      ASoC: wm8940: replace codec to component
      ASoC: wm8904: replace codec to component
      ASoC: wm9081: replace codec to component
      ASoC: wm9090: replace codec to component
      ASoC: wm9867: replace codec to component
      ASoC: wm1250-ev1: replace codec to component
      ASoC: ak4613: replace codec to component
      ASoC: ak4642: replace codec to component
      ASoC: ak5386: replace codec to component
      ASoC: ak4671: replace codec to component
      ASoC: ak4104: replace codec to component
      ASoC: ak4535: replace codec to component
      ASoC: ak4641: replace codec to component
      ASoC: ak4554: replace codec to component
      ASoC: rt274: replace codec to component
      ASoC: rt5616: replace codec to component
      ASoC: rt5640: replace codec to component
      ASoC: rt5651: replace codec to component
      ASoC: rt5514: replace codec to component
      ASoC: rt5659: replace codec to component
      ASoC: rt5670: replace codec to component
      ASoC: rt5660: replace codec to component
      ASoC: rt5631: replace codec to component
      ASoC: rt5665: replace codec to component
      ASoC: cs4270: replace codec to component
      ASoC: cs4349: replace codec to component
      ASoC: cs4265: replace codec to component
      ASoC: cs35l32: replace codec to component
      ASoC: cs35l33: replace codec to component
      ASoC: cs35l35: replace codec to component
      ASoC: cs35l34: replace codec to component
      ASoC: cs42xx8: replace codec to component
      ASoC: cs42l73: replace codec to component
      ASoC: cs42l52: replace codec to component
      ASoC: cs42l56: replace codec to component
      ASoC: cs42l51: replace codec to component
      ASoC: cs42l42: replace codec to component
      ASoC: cs43130: replace codec to component
      ASoC: cs53l30: replace codec to component
      ASoC: da732x: replace codec to component
      ASoC: da7210: replace codec to component
      ASoC: da7218: replace codec to component
      ASoC: da7213: replace codec to component
      ASoC: da9055: replace codec to component
      ASoC: max9860: replace codec to component
      ASoC: max9850: replace codec to component
      ASoC: max98371: replace codec to component
      ASoC: max98095: replace codec to component
      ASoC: max98090: replace codec to component
      ASoC: max98926: replace codec to component
      ASoC: max98088: replace codec to component
      ASoC: max98925: replace codec to component
      ASoC: max98927: replace codec to component
      ASoC: max98357a: replace codec to component
      ASoC: max98373: replace codec to component
      ASoC: adav80x: replace codec to component
      ASoC: adau1373: replace codec to component
      ASoC: adau7002: replace codec to component
      ASoC: adau1977: replace codec to component
      ASoC: adau17x1/adau1761/adau1781: replace codec to component
      ASoC: tlv320aic23: replace codec to component
      ASoC: tlv320aic26: replace codec to component
      ASoC: tlv320aic3x: replace codec to component
      ASoC: tlv320dac33: replace codec to component
      ASoC: tlv320aic32x4: replace codec to component
      ASoC: tlv320aic31xx: replace codec to component
      ASoC: cx20442: replace codec to component
      ASoC: tscs42xx: replace codec to component
      ASoC: pcm179x: replace codec to component
      ASoC: pcm3008: replace codec to component
      ASoC: pcm1681: replace codec to component
      ASoC: pcm512x: replace codec to component
      ASoC: pcm5102a: replace codec to component
      ASoC: pcm3168a: replace codec to component
      ASoC: twl6040: replace codec to component
      ASoC: twl4030: replace codec to component
      ASoC: msm8916-wcd-analog: replace codec to component
      ASoC: msm8916-wcd-digital: replace codec to component
      ASoC: spdif_transmitter: replace codec to component
      ASoC: spdif_receiver: replace codec to component
      ASoC: tas5720: replace codec to component
      ASoC: tas2552: replace codec to component
      ASoC: sun4i: replace codec to component
      ASoC: sun8i: replace codec to component
      ASoC: ads117x: replace codec to component
      ASoC: ab8500: replace codec to component
      ASoC: ad193x: replace codec to component
      ASoC: ad1836: replace codec to component
      ASoC: ad73311: replace codec to component
      ASoC: ssm4567: replace codec to component
      ASoC: ssm2602: replace codec to component
      ASoC: ssm2518: replace codec to component
      ASoC: sta350: replace codec to component
      ASoC: sta32x: replace codec to component
      ASoC: sta529: replace codec to component
      ASoC: tas5086: replace codec to component
      ASoC: tas571x: replace codec to component
      ASoC: nau8824: replace codec to component
      ASoC: nau8810: replace codec to component
      ASoC: nau8540: replace codec to component
      ASoC: es8316: replace codec to component
      ASoC: es7134: replace codec to component
      ASoC: es8328: replace codec to component
      ASoC: alc5632: replace codec to component
      ASoC: alc5623: replace codec to component
      ASoC: hdmi-codec: replace codec to component
      ASoC: bt-sco: replace codec to component
      ASoC: vc4_hdmi: replace codec to component
      ASoC: zx_aud96p22: replace codec to component
      ASoC: wl1273: replace codec to component
      ASoC: mc13783: replace codec to component
      ASoC: sgtl5000: replace codec to component
      ASoC: sirf-audio: replace codec to component
      ASoC: inno_rk3036: replace codec to component
      ASoC: isabelle: replace codec to component
      ASoC: tfa9879: replace codec to component
      ASoC: dmic: replace codec to component
      ASoC: sti-sas: replace codec to component
      ASoC: gtm601: replace codec to component
      ASoC: 88pm860x: replace codec to component
      ASoC: pistachio: replace codec to component
      ASoC: lm49453: replace codec to component
      ASoC: cq93vc: replace codec to component
      ASoC: jz4740: replace codec to component
      ASoC: uda1380: replace codec to component
      ASoC: ml26124: replace codec to component
      ASoC: si476x: replace codec to component
      ASoC: uda134x: replace codec to component
      ASoC: ics43432: replace codec to component
      ASoC: uniphier: evea: replace codec to component
      ASoC: pcm186x: replace codec to component
      ASoC: tas6424: replace codec to component
      ASoC: atmel-pdmic: replace codec to component
      ASoC: atmel-classd: replace codec to component
      ASoC: hdac_hdmi/nau8825/rt286/rt298/rt5663/da7219: replace codec to component
      ASoC: rt5645/rt5677: replace codec to component
      ASoC: wm8993/wm8994/wm8958: replace codec to component
      ASoC: remove rtd->platform checck
      ASoC: soc-utils: replace platform to component
      ASoC: soc-generic-dmaengine-pcm: replace platform to component
      ASoC: intel: atom: replace platform to component
      ASoC: intel: skylake: replace platform to component
      ASoC: intel: baytrail: replace platform to component
      ASoC: intel: haswell: replace platform to component
      ASoC: bcm: cygnus: replace platform to component
      ASoC: sh: rsnd: replace platform to component
      ASoC: sh: dma-sh7760: replace platform to component
      ASoC: sh: fsi: replace platform to component
      ASoC: sh: siu: replace platform to component
      ASoC: atmel: replace platform to component
      ASoC: amd: replace platform to component
      ASoC: cs47l24: replace platform to component
      ASoC: rt5514-spi: replace platform to component
      ASoC: wm5110: replace platform to component
      ASoC: wm5102: replace platform to component
      ASoC: davinci-i2s: replace platform to component
      ASoC: fsl: dma: replace platform to component
      ASoC: fsl: asrc: replace platform to component
      ASoC: fsl: imx: replace platform to component
      ASoC: fsl: mpc5200: replace platform to component
      ASoC: dwc-pcm: replace platform to component
      ASoC: kirkwood: replace platform to component
      ASoC: pxa: mmp: replace platform to component
      ASoC: pxa: pxa2xx: replace platform to component
      ASoC: qcom: lpass-platform: replace platform to component
      ASoC: samsung: idma: replace platform to component
      ASoC: xtfpga-i2s: replace platform to component
      ASoC: blackfin: bf5xx-ac97-pcm: replace platform to component
      ASoC: blackfin: bf5xx-i2s-pcm: replace platform to component
      ASoC: omap-pcm: replace platform to component
      ASoC: au1x: dbdma2: replace platform to component
      ASoC: au1x: dma: replace platform to component
      ASoC: nuc900-pcm: replace platform to component
      ASoC: txx9aclc: replace platform to component
      ASoC: mt2701/mt8173: replace platform to component
      ASoC: stm: stm32_adfsdm: replace platform to component
      ASoC: soc-utils: replace codec to component
      ASoC: adau1701: replace codec to component
      ASoC: rsnd: indicate IRQ error status for debug
      ASoC: rsnd: suppress rsnd_dai_call() debug message
      ASoC: wm9081: fixup wm9081_digital_mute() reg read
      ASoC: wm9712: replace codec to component
      ASoC: wm9713: replace codec to component
      ASoC: ad73311: replace codec to component
      ASoC: stac9766: replace codec to component
      ASoC: wm9705: replace codec to component
      ASoC: ad1980: replace codec to component
      ASoC: uniphier: aio-dma: replace platform to component
      ASoC: arizona: replace codec to component
      ASoC: ak4613: don't have .use_pmdown_time
      ASoC: ak4642: don't have .use_pmdown_time
      ASoC: soc-core: soc_probe_dai() code simplification
      ASoC: intel: kbl_da7219_max98357: replace codec to component
      ASoC: amd: acp-da7219-max98357: replace codec to component
      ASoC: ak4458: replace codec to component
      ASoC: ak5558: replace codec to component
      ASoC: pxa/mioa701_wm9713: replace codec to component
      ASoC: dmic: don't use codec anymore
      soc-core: don't call kfree() for component
      ASoC: twl6040: remove duplicated remove callback
      ASoC: amd: don't use codec anymore
      ASoC: Intel: bytcr_rt5651: don't use codec anymore
      ASoC: cpcap: replace codec to component

Ladislav Michl (6):
      ASoC: max9867: Show Kconfig entry
      ASoC: max9867: Improve error logging
      ASoC: max9867: Fix codec capabilities
      ASoC: max9867: DSP mode
      ASoC: atmel: Remove redundant dev_err() call in probe function
      ASoC: max9867: Drop probe function

Liam Girdwood (3):
      ASoC: pcm: improve debug output for DPCM BE searching.
      ASoC: topology: Check widget kcontrols before deref.
      ASoC: topology: Fix kcontrol name string handling

Maciej S. Szmigiero (5):
      ALSA: emu10k1: remove reserved_page
      ALSA: emu10k1: use dma_set_mask_and_coherent()
      ALSA: emu10k1: add optional debug printouts with DMA addresses
      ALSA: emu10k1: make sure synth DMA pages are allocated with DMA functions
      ALSA: emu10k1: add a IOMMU workaround

Mark Brown (2):
      ASoC: Intel: Fix build
      ASoC: core: Fix typo roup->group

Martin Hundebøll (1):
      ASoC: soc-core: remove error due to probe deferral

Masahiro Yamada (1):
      ASoC: uniphier: remove superfluous <linux/mfd/syscon.h> inclusion

Masanari Iida (1):
      ASoC: mediatek: mt2701: Fix a typo in printk

Matt Porter (2):
      ASoC: add tda7419 audio processor binding
      ASoC: add tda7419 audio processor driver

Matt Ranostay (1):
      ALSA: hda-beep: add SPDX identifiers

Matthias Kaehlcke (1):
      ASoC: dmic: Add optional wakeup delay

Michal Oleszczyk (2):
      ASoC: sgtl5000: add 'Audio Switch' block implementation
      ASoC: sgtl5000: add 5 band graphic equalizer

Mukunda, Vijendar (2):
      ASoC: amd: renaming pcm substream names and bytescount params
      ASoC: amd: Coding style changes for acp dma driver

Mylène Josserand (2):
      ASoC: codecs: Add support for PCM1789
      ASoC: Add bindings for PCM1789

Naveen Manohar (3):
      ASoC: Intel: Add Kabylake-y Dialog Maxim machine driver
      ASoC: Intel: Add Kabylake Dialog+Maxim machine driver entry
      ASoC: Intel: kbl: Enable mclk and ssp sclk early for rt5663

Neil Armstrong (2):
      ASoC: Add DT bindings documentation for max9759 amplifier
      ASoC: max9759: Add Amplifier Driver

Nicolin Chen (17):
      ASoC: fsl_ssi: Redefine RX and TX macros
      ASoC: fsl_ssi: Keep ssi->i2s_net updated
      ASoC: fsl_ssi: Clean up set_dai_tdm_slot()
      ASoC: fsl_ssi: Maintain a mask of active streams
      ASoC: fsl_ssi: Rename fsl_ssi_disable_val macro
      ASoC: fsl_ssi: Clear FIFO directly in fsl_ssi_config()
      ASoC: fsl_ssi: Clean up helper functions of trigger()
      ASoC: fsl_ssi: Add DAIFMT define for AC97
      ASoC: fsl_ssi: Clean up fsl_ssi_setup_regvals()
      ASoC: fsl_ssi: Set xFEN0 and xFEN1 together
      ASoC: fsl_ssi: Use snd_soc_init_dma_data instead
      ASoC: fsl_ssi: Move one-time configurations to probe()
      ASoC: fsl_ssi: Setup AC97 in fsl_ssi_hw_init()
      ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()
      ASoC: fsl_ssi: Add bool synchronous to mark synchronous mode
      ASoC: fsl_ssi: Move DT related code to a separate probe()
      ASoC: fsl_ssi: Use ssi->streams instead of reading register

Nikita Yushchenko (1):
      ASoC: rsnd: set pm_ops in hibernate-compatible way

Nobutaka Okabe (3):
      ALSA: usb-audio: Add native DSD support for Luxman DA-06
      ALSA: usb-audio: FIX native DSD support for TEAC UD-501 DAC
      ALSA: usb-audio: Integrate native DSD support for ITF-USB based DACs.

Olivier Moysan (4):
      ASoC: dmaengine_pcm: add processing support
      ASoC: stm32: Add S/PDIF to SAI bindings
      ASoC: stm32: sai: Add support of S/PDIF playback
      ASoC: dmaengine_pcm: document process callback

Pawse, GuruprasadX (2):
      ASoC: Intel: Skylake: Add BE DAI for WoV usecase
      ASoC: Intel: board: Add BE DAI link for WoV and update DAPM machine map.

Peng Donglin (1):
      ASoC: use DEFINE_SHOW_ATTRIBUTE() to decrease code duplication

Peter Ujfalusi (6):
      ASoC: tlv320aic31xx: Fix master mode clock I2S bus clocks
      ASoC: tlv320aic31xx: Rename AIF_IN from 'DAC IN' to 'AIF IN'
      ASoC: tlv320aic31xx: Do not force power on the DAC/ADC in clock master mode
      ASoC: hdmi-codec: Fix module unloading caused kernel crash
      ASoC: twl6040: Add back missing write callback
      ASoC: soc-io: Fix snd_soc_component_update_bits_legacy

Ranjani Sridharan (1):
      ASoC: topology: create TLV data for dapm widgets

Richard Fitzgerald (3):
      ASoC: wm_adsp: Don't init cache from DSP memory if control is write-only
      ASoC: wm_adsp: Fix some signedness errors in register access
      ALSA: control: Fix a bunch of whitespace errors

Robert Rosengren (1):
      ALSA: aloop: Mark paused device as inactive

Ruslan Bilovol (2):
      ALSA: usb-audio: move audioformat quirks to quirks.c
      ALSA: usb: initial USB Audio Device Class 3.0 support

Ryder Lee (1):
      ASoC: mediatek: remove "simple-mfd" in the example

Sanyog Kale (1):
      ASoC: Intel: Skylake: Disable clock and power gating during FW/LIB download

Sebastian Reichel (1):
      ASoC: cpcap: new codec

Srinivas Kandagatla (1):
      ASoC: dapm: add support to pinctrl dapm

Sriram Periyasamy (1):
      ASoC: Intel: Skylake: Find module id from UUID for bind params

Steven Eckhoff (1):
      ASoC: TSCS42xx: Add missing headers

Sylwester Nawrocki (19):
      ASoC: samsung: Add the DT binding files entry to MAINTAINERS
      ASoC: samsung: i2s: Ensure the RCLK rate is properly determined
      ASoC: samsung: i2s: Update clock-output-names property documentation
      ASoC: samsung: i2s: Ensure names of supplied clocks are unique
      ASoC: samsung: i2s: Prevent external abort on exynos5433 I2S1 access
      ASoC: samsung: i2s: Define the parameters list for SAMSUNG_I2S_OPCLK
      ASoC: samsung,tm2-audio DT binding documentation update
      ASoC: samsung: Add support for HDMI audio on TM2 board
      ASoC: samsung: Add missing #sound-dai-cells property documentation
      ASoC: Use proper DT compatible string for Hardkernel Odroid boards
      ASoC: max98090: Add #sound-dai-cells property documentation
      ASoC: Add snd_soc_of_put_dai_link_codecs() helper function
      ASoC: samsung: i2s: Fix rclk_srcrate handling
      ASoC: samsung: Drop uneeded RCLKSRC setting in the Snow driver
      ASoC: samsung: Snow DT bindings update
      ASoC: samsung: Add HDMI audio support for Snow
      ASoC: samsung: odroid: Fix 32000 sample rate handling
      ASoC: samsung: odroid: Drop sample rates that cannot be supported from hw_params()
      ASoC: samsung: Use snd_soc_of_put_dai_link_codecs() in odroid.c

Takashi Iwai (8):
      ALSA: vmaster: Propagate slave error
      ALSA: vmaster: Zero-clear ctl before calling slave get
      ALSA: pcm: Remove VLA usage
      ALSA: pcm: Use krealloc() for resizing the rules array
      ALSA: pcm: Avoid potential races between OSS ioctls and read/write
      ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
      ALSA: pcm: Fix mutex unbalance in OSS emulation ioctls
      ALSA: pcm: Fix UAF at PCM release via PCM timer access

Vijendar Mukunda (1):
      ASoC: amd: modifications in dma stop sequence

Wei Yongjun (1):
      ASoC: mediatek: mt2701: drop unnessary snd_soc_unregister_component()

Wu Fengguang (2):
      ASoC: uniphier: aiodma_rb_get_rp() can be static
      ASoC: rt5659: rt5659_intel_hd_header_probe_setup() can be static

kbuild test robot (1):
      ASoC: ak4458: ak4458_regmap can be static

oder_chiou@realtek.com (2):
      ASoC: rt5659: Add the support of Intel HDA Header
      ASoC: rt5659: Remove the routing path of the power widget "LDO2"

olivier moysan (2):
      ASoC: stm32: spdifrx: fix typo in function name.
      ASoC: stm32: spdifrx: Use default dai name

weiyongjun (A) (2):
      ASoC: wm8400: Use devm_snd_soc_register_component()
      ASoC: da7210: Use devm_snd_soc_register_component()

---
 Documentation/devicetree/bindings/sound/ak4458.txt |   23 +
 Documentation/devicetree/bindings/sound/ak5558.txt |   22 +
 Documentation/devicetree/bindings/sound/da7219.txt |    6 +
 Documentation/devicetree/bindings/sound/dmic.txt   |    2 +
 .../devicetree/bindings/sound/fsl-asoc-card.txt    |    1 -
 .../devicetree/bindings/sound/imx-audio-wm8962.txt |   53 -
 .../devicetree/bindings/sound/max98090.txt         |    2 +
 .../devicetree/bindings/sound/maxim,max9759.txt    |   18 +
 .../devicetree/bindings/sound/mt2701-afe-pcm.txt   |    2 +-
 .../devicetree/bindings/sound/pcm1789.txt          |   22 +
 .../devicetree/bindings/sound/renesas,rsnd.txt     |    1 +
 .../bindings/sound/rockchip,rk3288-hdmi-analog.txt |    2 +-
 .../devicetree/bindings/sound/rohm,bd28623.txt     |   29 +
 Documentation/devicetree/bindings/sound/rt5651.txt |   17 +
 Documentation/devicetree/bindings/sound/rt5665.txt |    4 +-
 .../devicetree/bindings/sound/samsung,odroid.txt   |    8 +-
 .../bindings/sound/samsung,tm2-audio.txt           |   14 +-
 .../devicetree/bindings/sound/samsung-i2s.txt      |   22 +-
 .../devicetree/bindings/sound/sgtl5000.txt         |    3 +
 Documentation/devicetree/bindings/sound/snow.txt   |   13 +-
 .../devicetree/bindings/sound/st,stm32-sai.txt     |    6 +
 .../devicetree/bindings/sound/tda7419.txt          |   38 +
 .../devicetree/bindings/sound/uniphier,aio.txt     |   45 +
 Documentation/devicetree/bindings/sound/wm8524.txt |    2 +-
 MAINTAINERS                                        |    7 -
 arch/x86/include/asm/platform_sst_audio.h          |    1 +
 drivers/gpu/drm/vc4/vc4_hdmi.c                     |   47 +-
 include/dt-bindings/sound/rt5651.h                 |   15 +
 include/linux/usb/audio-v2.h                       |    8 +-
 include/linux/usb/audio-v3.h                       |  395 +++++
 include/sound/da7219.h                             |    2 +
 include/sound/dmaengine_pcm.h                      |    7 +
 include/sound/emu10k1.h                            |    4 +-
 include/sound/hdaudio.h                            |    2 +
 include/sound/pcm_oss.h                            |    1 +
 include/sound/rt5651.h                             |   29 -
 include/sound/rt5659.h                             |    1 +
 include/sound/soc-dapm.h                           |   16 +
 include/sound/soc.h                                |   14 +-
 include/uapi/linux/usb/audio.h                     |    1 +
 include/uapi/sound/asound.h                        |    1 +
 sound/core/control.c                               |   18 +-
 sound/core/init.c                                  |    4 +-
 sound/core/oss/pcm_oss.c                           |  185 ++-
 sound/core/pcm.c                                   |    8 +-
 sound/core/pcm_lib.c                               |    8 +-
 sound/core/pcm_native.c                            |   19 +-
 sound/core/vmaster.c                               |    7 +-
 sound/drivers/aloop.c                              |   12 +-
 sound/hda/hdac_device.c                            |   35 +
 sound/pci/echoaudio/echoaudio.c                    |    3 +-
 sound/pci/emu10k1/emu10k1_main.c                   |   71 +-
 sound/pci/emu10k1/emupcm.c                         |   10 +-
 sound/pci/emu10k1/memory.c                         |  101 +-
 sound/pci/hda/hda_beep.c                           |   17 +-
 sound/pci/hda/hda_beep.h                           |   17 +-
 sound/pci/hda/hda_codec.c                          |   28 +-
 sound/pci/hda/hda_intel.c                          |    3 +
 sound/pci/hda/hda_local.h                          |    6 +-
 sound/pci/ice1712/juli.c                           |    8 +-
 sound/pci/ice1712/quartet.c                        |    8 +-
 sound/soc/Kconfig                                  |    1 -
 sound/soc/Makefile                                 |    1 -
 sound/soc/amd/Kconfig                              |    9 +
 sound/soc/amd/Makefile                             |    2 +
 sound/soc/amd/acp-da7219-max98357a.c               |  276 ++++
 sound/soc/amd/acp-pcm-dma.c                        |  206 +--
 sound/soc/amd/acp-rt5645.c                         |    4 +-
 sound/soc/amd/acp.h                                |    8 +-
 sound/soc/atmel/atmel-classd.c                     |   65 +-
 sound/soc/atmel/atmel-pcm-pdc.c                    |    6 +-
 sound/soc/atmel/atmel-pdmic.c                      |   67 +-
 sound/soc/au1x/dbdma2.c                            |   13 +-
 sound/soc/au1x/dma.c                               |   12 +-
 sound/soc/bcm/cygnus-pcm.c                         |    7 +-
 sound/soc/bcm/cygnus-ssp.c                         |    2 +-
 sound/soc/blackfin/Kconfig                         |  205 ---
 sound/soc/blackfin/Makefile                        |   40 -
 sound/soc/blackfin/bf5xx-ac97-pcm.c                |  480 ------
 sound/soc/blackfin/bf5xx-ac97.c                    |  388 -----
 sound/soc/blackfin/bf5xx-ac97.h                    |   57 -
 sound/soc/blackfin/bf5xx-ad1836.c                  |  109 --
 sound/soc/blackfin/bf5xx-ad193x.c                  |  131 --
 sound/soc/blackfin/bf5xx-ad1980.c                  |  109 --
 sound/soc/blackfin/bf5xx-ad73311.c                 |  212 ---
 sound/soc/blackfin/bf5xx-i2s-pcm.c                 |  373 -----
 sound/soc/blackfin/bf5xx-i2s-pcm.h                 |   17 -
 sound/soc/blackfin/bf5xx-i2s.c                     |  391 -----
 sound/soc/blackfin/bf5xx-sport.c                   | 1102 --------------
 sound/soc/blackfin/bf5xx-sport.h                   |  174 ---
 sound/soc/blackfin/bf5xx-ssm2602.c                 |  126 --
 sound/soc/blackfin/bf6xx-i2s.c                     |  239 ---
 sound/soc/blackfin/bf6xx-sport.c                   |  425 ------
 sound/soc/blackfin/bf6xx-sport.h                   |   82 -
 sound/soc/blackfin/bfin-eval-adau1373.c            |  173 ---
 sound/soc/blackfin/bfin-eval-adau1701.c            |  113 --
 sound/soc/blackfin/bfin-eval-adau1x61.c            |  142 --
 sound/soc/blackfin/bfin-eval-adau1x81.c            |  129 --
 sound/soc/blackfin/bfin-eval-adav80x.c             |  145 --
 sound/soc/codecs/88pm860x-codec.c                  |  166 +--
 sound/soc/codecs/88pm860x-codec.h                  |    4 +-
 sound/soc/codecs/Kconfig                           |   50 +-
 sound/soc/codecs/Makefile                          |   17 +-
 sound/soc/codecs/ab8500-codec.c                    |  295 ++--
 sound/soc/codecs/ac97.c                            |   46 +-
 sound/soc/codecs/ad1836.c                          |   68 +-
 sound/soc/codecs/ad193x-i2c.c                      |    7 -
 sound/soc/codecs/ad193x-spi.c                      |    7 -
 sound/soc/codecs/ad193x.c                          |   46 +-
 sound/soc/codecs/ad1980.c                          |   87 +-
 sound/soc/codecs/ad73311.c                         |   27 +-
 sound/soc/codecs/adau1373.c                        |   84 +-
 sound/soc/codecs/adau1701.c                        |  101 +-
 sound/soc/codecs/adau1761.c                        |   88 +-
 sound/soc/codecs/adau1781.c                        |   51 +-
 sound/soc/codecs/adau17x1.c                        |   69 +-
 sound/soc/codecs/adau17x1.h                        |    8 +-
 sound/soc/codecs/adau1977-i2c.c                    |    7 -
 sound/soc/codecs/adau1977-spi.c                    |    7 -
 sound/soc/codecs/adau1977.c                        |   59 +-
 sound/soc/codecs/adau7002.c                        |   30 +-
 sound/soc/codecs/adav801.c                         |    7 -
 sound/soc/codecs/adav803.c                         |    7 -
 sound/soc/codecs/adav80x.c                         |  130 +-
 sound/soc/codecs/ads117x.c                         |   27 +-
 sound/soc/codecs/ak4104.c                          |   68 +-
 sound/soc/codecs/ak4458.c                          |  657 ++++++++
 sound/soc/codecs/ak4458.h                          |   86 ++
 sound/soc/codecs/ak4535.c                          |   78 +-
 sound/soc/codecs/ak4554.c                          |   27 +-
 sound/soc/codecs/ak4613.c                          |   72 +-
 sound/soc/codecs/ak4641.c                          |   91 +-
 sound/soc/codecs/ak4642.c                          |  104 +-
 sound/soc/codecs/ak4671.c                          |   67 +-
 sound/soc/codecs/ak5386.c                          |   62 +-
 sound/soc/codecs/ak5558.c                          |  415 ++++++
 sound/soc/codecs/ak5558.h                          |   52 +
 sound/soc/codecs/alc5623.c                         |  147 +-
 sound/soc/codecs/alc5632.c                         |  138 +-
 sound/soc/codecs/arizona.c                         |  249 ++--
 sound/soc/codecs/arizona.h                         |   24 +-
 sound/soc/codecs/bd28623.c                         |  242 +++
 sound/soc/codecs/bt-sco.c                          |   21 +-
 sound/soc/codecs/cpcap.c                           | 1562 ++++++++++++++++++++
 sound/soc/codecs/cq93vc.c                          |   33 +-
 sound/soc/codecs/cs35l32.c                         |   45 +-
 sound/soc/codecs/cs35l33.c                         |  186 ++-
 sound/soc/codecs/cs35l34.c                         |  127 +-
 sound/soc/codecs/cs35l35.c                         |  104 +-
 sound/soc/codecs/cs4265.c                          |   98 +-
 sound/soc/codecs/cs4270.c                          |  124 +-
 sound/soc/codecs/cs4271-i2c.c                      |    7 -
 sound/soc/codecs/cs4271-spi.c                      |    7 -
 sound/soc/codecs/cs4271.c                          |  105 +-
 sound/soc/codecs/cs42l42.c                         |  154 +-
 sound/soc/codecs/cs42l42.h                         |    2 +-
 sound/soc/codecs/cs42l51-i2c.c                     |    8 -
 sound/soc/codecs/cs42l51.c                         |   81 +-
 sound/soc/codecs/cs42l52.c                         |  146 +-
 sound/soc/codecs/cs42l56.c                         |  158 +-
 sound/soc/codecs/cs42l73.c                         |  122 +-
 sound/soc/codecs/cs42xx8-i2c.c                     |    1 -
 sound/soc/codecs/cs42xx8.c                         |   57 +-
 sound/soc/codecs/cs43130.c                         |  243 +--
 sound/soc/codecs/cs43130.h                         |    2 +-
 sound/soc/codecs/cs4349.c                          |   39 +-
 sound/soc/codecs/cs47l24.c                         |  136 +-
 sound/soc/codecs/cs53l30.c                         |   57 +-
 sound/soc/codecs/cx20442.c                         |   89 +-
 sound/soc/codecs/da7210.c                          |  181 ++-
 sound/soc/codecs/da7213.c                          |  328 ++--
 sound/soc/codecs/da7218.c                          |  498 +++----
 sound/soc/codecs/da7218.h                          |    2 +-
 sound/soc/codecs/da7219-aad.c                      |  236 +--
 sound/soc/codecs/da7219-aad.h                      |   12 +-
 sound/soc/codecs/da7219.c                          |  434 ++++--
 sound/soc/codecs/da7219.h                          |   11 +-
 sound/soc/codecs/da732x.c                          |  241 +--
 sound/soc/codecs/da9055.c                          |  186 ++-
 sound/soc/codecs/dmic.c                            |   92 +-
 sound/soc/codecs/es7134.c                          |   27 +-
 sound/soc/codecs/es8316.c                          |   80 +-
 sound/soc/codecs/es8328-i2c.c                      |    7 -
 sound/soc/codecs/es8328-spi.c                      |    7 -
 sound/soc/codecs/es8328.c                          |  147 +-
 sound/soc/codecs/gtm601.c                          |   28 +-
 sound/soc/codecs/hdac_hdmi.c                       |   65 +-
 sound/soc/codecs/hdac_hdmi.h                       |    2 +-
 sound/soc/codecs/hdmi-codec.c                      |   30 +-
 sound/soc/codecs/ics43432.c                        |   16 +-
 sound/soc/codecs/inno_rk3036.c                     |   70 +-
 sound/soc/codecs/isabelle.c                        |   57 +-
 sound/soc/codecs/jz4740.c                          |   50 +-
 sound/soc/codecs/lm49453.c                         |   65 +-
 sound/soc/codecs/max9759.c                         |  207 +++
 sound/soc/codecs/max98088.c                        |  314 ++--
 sound/soc/codecs/max98090.c                        |  319 ++--
 sound/soc/codecs/max98090.h                        |    4 +-
 sound/soc/codecs/max98095.c                        |  448 +++---
 sound/soc/codecs/max98095.h                        |    2 +-
 sound/soc/codecs/max98357a.c                       |   29 +-
 sound/soc/codecs/max98371.c                        |   43 +-
 sound/soc/codecs/max98371.h                        |    1 -
 sound/soc/codecs/max98373.c                        |   75 +-
 sound/soc/codecs/max9850.c                         |   80 +-
 sound/soc/codecs/max9860.c                         |   70 +-
 sound/soc/codecs/max9867.c                         |   91 +-
 sound/soc/codecs/max9867.h                         |    1 -
 sound/soc/codecs/max98925.c                        |   72 +-
 sound/soc/codecs/max98925.h                        |    2 +-
 sound/soc/codecs/max98926.c                        |   56 +-
 sound/soc/codecs/max98926.h                        |    2 +-
 sound/soc/codecs/max98927.c                        |   82 +-
 sound/soc/codecs/max98927.h                        |    2 +-
 sound/soc/codecs/mc13783.c                         |   68 +-
 sound/soc/codecs/ml26124.c                         |  103 +-
 sound/soc/codecs/msm8916-wcd-analog.c              |  207 +--
 sound/soc/codecs/msm8916-wcd-digital.c             |  115 +-
 sound/soc/codecs/nau8540.c                         |   79 +-
 sound/soc/codecs/nau8810.c                         |   73 +-
 sound/soc/codecs/nau8824.c                         |  153 +-
 sound/soc/codecs/nau8824.h                         |    2 +-
 sound/soc/codecs/nau8825.c                         |  107 +-
 sound/soc/codecs/nau8825.h                         |    2 +-
 sound/soc/codecs/pcm1681.c                         |   62 +-
 sound/soc/codecs/pcm1789-i2c.c                     |   62 +
 sound/soc/codecs/pcm1789.c                         |  274 ++++
 sound/soc/codecs/pcm1789.h                         |   17 +
 sound/soc/codecs/pcm179x-i2c.c                     |    6 -
 sound/soc/codecs/pcm179x-spi.c                     |    6 -
 sound/soc/codecs/pcm179x.c                         |   45 +-
 sound/soc/codecs/pcm179x.h                         |    1 -
 sound/soc/codecs/pcm186x-i2c.c                     |    8 -
 sound/soc/codecs/pcm186x-spi.c                     |    8 -
 sound/soc/codecs/pcm186x.c                         |  143 +-
 sound/soc/codecs/pcm186x.h                         |    1 -
 sound/soc/codecs/pcm3008.c                         |   36 +-
 sound/soc/codecs/pcm3168a.c                        |   51 +-
 sound/soc/codecs/pcm5102a.c                        |   16 +-
 sound/soc/codecs/pcm512x.c                         |  162 +-
 sound/soc/codecs/rt274.c                           |  206 ++-
 sound/soc/codecs/rt286.c                           |  205 ++-
 sound/soc/codecs/rt286.h                           |    2 +-
 sound/soc/codecs/rt298.c                           |  217 ++-
 sound/soc/codecs/rt298.h                           |    2 +-
 sound/soc/codecs/rt5514-spi.c                      |   36 +-
 sound/soc/codecs/rt5514.c                          |  128 +-
 sound/soc/codecs/rt5514.h                          |    2 +-
 sound/soc/codecs/rt5616.c                          |  219 ++-
 sound/soc/codecs/rt5631.c                          |  324 ++--
 sound/soc/codecs/rt5640.c                          |  260 ++--
 sound/soc/codecs/rt5640.h                          |    6 +-
 sound/soc/codecs/rt5645.c                          |  370 +++--
 sound/soc/codecs/rt5645.h                          |    4 +-
 sound/soc/codecs/rt5651.c                          |  752 +++++-----
 sound/soc/codecs/rt5651.h                          |   23 +-
 sound/soc/codecs/rt5659.c                          |  472 +++---
 sound/soc/codecs/rt5659.h                          |   21 +-
 sound/soc/codecs/rt5660.c                          |  145 +-
 sound/soc/codecs/rt5660.h                          |    2 +-
 sound/soc/codecs/rt5663.c                          |  600 ++++----
 sound/soc/codecs/rt5663.h                          |    4 +-
 sound/soc/codecs/rt5665.c                          |  350 +++--
 sound/soc/codecs/rt5665.h                          |    3 +-
 sound/soc/codecs/rt5670.c                          |  295 ++--
 sound/soc/codecs/rt5670.h                          |   10 +-
 sound/soc/codecs/rt5677.c                          |  205 ++-
 sound/soc/codecs/rt5677.h                          |    4 +-
 sound/soc/codecs/sgtl5000.c                        |  275 ++--
 sound/soc/codecs/sgtl5000.h                        |    7 +
 sound/soc/codecs/si476x.c                          |   42 +-
 sound/soc/codecs/sirf-audio-codec.c                |   58 +-
 sound/soc/codecs/spdif_receiver.c                  |   26 +-
 sound/soc/codecs/spdif_transmitter.c               |   26 +-
 sound/soc/codecs/ssm2518.c                         |   57 +-
 sound/soc/codecs/ssm2602-i2c.c                     |    7 -
 sound/soc/codecs/ssm2602-spi.c                     |    7 -
 sound/soc/codecs/ssm2602.c                         |   96 +-
 sound/soc/codecs/ssm4567.c                         |   44 +-
 sound/soc/codecs/sta32x.c                          |  134 +-
 sound/soc/codecs/sta350.c                          |  117 +-
 sound/soc/codecs/sta529.c                          |   69 +-
 sound/soc/codecs/stac9766.c                        |   77 +-
 sound/soc/codecs/sti-sas.c                         |   84 +-
 sound/soc/codecs/tas2552.c                         |  178 ++-
 sound/soc/codecs/tas5086.c                         |   94 +-
 sound/soc/codecs/tas571x.c                         |   55 +-
 sound/soc/codecs/tas5720.c                         |  151 +-
 sound/soc/codecs/tas6424.c                         |   99 +-
 sound/soc/codecs/tda7419.c                         |  654 ++++++++
 sound/soc/codecs/tfa9879.c                         |   50 +-
 sound/soc/codecs/tlv320aic23-i2c.c                 |    7 -
 sound/soc/codecs/tlv320aic23-spi.c                 |    7 -
 sound/soc/codecs/tlv320aic23.c                     |  120 +-
 sound/soc/codecs/tlv320aic26.c                     |   83 +-
 sound/soc/codecs/tlv320aic31xx.c                   |  339 +++--
 sound/soc/codecs/tlv320aic31xx.h                   |    1 +
 sound/soc/codecs/tlv320aic32x4.c                   |  207 ++-
 sound/soc/codecs/tlv320aic3x.c                     |  295 ++--
 sound/soc/codecs/tlv320dac33.c                     |  402 +++--
 sound/soc/codecs/tscs42xx.c                        |  244 +--
 sound/soc/codecs/twl4030.c                         |  383 +++--
 sound/soc/codecs/twl6040.c                         |  269 ++--
 sound/soc/codecs/twl6040.h                         |   10 +-
 sound/soc/codecs/uda134x.c                         |   78 +-
 sound/soc/codecs/uda1380.c                         |  160 +-
 sound/soc/codecs/wl1273.c                          |   93 +-
 sound/soc/codecs/wl1273.h                          |    2 +-
 sound/soc/codecs/wm0010.c                          |  181 ++-
 sound/soc/codecs/wm1250-ev1.c                      |   27 +-
 sound/soc/codecs/wm2000.c                          |   78 +-
 sound/soc/codecs/wm2200.c                          |  157 +-
 sound/soc/codecs/wm5100.c                          |  260 ++--
 sound/soc/codecs/wm5100.h                          |    2 +-
 sound/soc/codecs/wm5102.c                          |  154 +-
 sound/soc/codecs/wm5110.c                          |  222 ++-
 sound/soc/codecs/wm8350.c                          |  183 ++-
 sound/soc/codecs/wm8350.h                          |    4 +-
 sound/soc/codecs/wm8400.c                          |  211 ++-
 sound/soc/codecs/wm8510.c                          |  149 +-
 sound/soc/codecs/wm8523.c                          |   98 +-
 sound/soc/codecs/wm8524.c                          |   56 +-
 sound/soc/codecs/wm8580.c                          |  150 +-
 sound/soc/codecs/wm8711.c                          |  116 +-
 sound/soc/codecs/wm8727.c                          |   29 +-
 sound/soc/codecs/wm8728.c                          |   82 +-
 sound/soc/codecs/wm8731.c                          |  101 +-
 sound/soc/codecs/wm8737.c                          |  109 +-
 sound/soc/codecs/wm8741.c                          |  133 +-
 sound/soc/codecs/wm8750.c                          |  115 +-
 sound/soc/codecs/wm8753.c                          |  289 ++--
 sound/soc/codecs/wm8770.c                          |  131 +-
 sound/soc/codecs/wm8776.c                          |  105 +-
 sound/soc/codecs/wm8782.c                          |   27 +-
 sound/soc/codecs/wm8804.c                          |  100 +-
 sound/soc/codecs/wm8900.c                          |  251 ++--
 sound/soc/codecs/wm8903.c                          |  211 ++-
 sound/soc/codecs/wm8903.h                          |    2 +-
 sound/soc/codecs/wm8904.c                          |  355 +++--
 sound/soc/codecs/wm8940.c                          |  159 +-
 sound/soc/codecs/wm8955.c                          |  189 ++-
 sound/soc/codecs/wm8958-dsp2.c                     |  278 ++--
 sound/soc/codecs/wm8960.c                          |  249 ++--
 sound/soc/codecs/wm8961.c                          |  241 ++-
 sound/soc/codecs/wm8962.c                          |  397 +++--
 sound/soc/codecs/wm8962.h                          |    2 +-
 sound/soc/codecs/wm8971.c                          |  108 +-
 sound/soc/codecs/wm8974.c                          |  143 +-
 sound/soc/codecs/wm8978.c                          |  185 ++-
 sound/soc/codecs/wm8983.c                          |  170 +--
 sound/soc/codecs/wm8985.c                          |  201 ++-
 sound/soc/codecs/wm8988.c                          |  127 +-
 sound/soc/codecs/wm8990.c                          |  179 ++-
 sound/soc/codecs/wm8991.c                          |  167 +--
 sound/soc/codecs/wm8993.c                          |  237 +--
 sound/soc/codecs/wm8994.c                          |  810 +++++-----
 sound/soc/codecs/wm8994.h                          |    8 +-
 sound/soc/codecs/wm8995.c                          |  286 ++--
 sound/soc/codecs/wm8996.c                          |  401 +++--
 sound/soc/codecs/wm8996.h                          |    4 +-
 sound/soc/codecs/wm8997.c                          |   72 +-
 sound/soc/codecs/wm8998.c                          |  115 +-
 sound/soc/codecs/wm9081.c                          |  228 ++-
 sound/soc/codecs/wm9090.c                          |  109 +-
 sound/soc/codecs/wm9705.c                          |   83 +-
 sound/soc/codecs/wm9712.c                          |  111 +-
 sound/soc/codecs/wm9713.c                          |  203 ++-
 sound/soc/codecs/wm_adsp.c                         |   99 +-
 sound/soc/codecs/wm_adsp.h                         |   14 +-
 sound/soc/codecs/wm_hubs.c                         |  254 ++--
 sound/soc/codecs/wm_hubs.h                         |   18 +-
 sound/soc/codecs/zx_aud96p22.c                     |   35 +-
 sound/soc/davinci/davinci-i2s.c                    |   13 +-
 sound/soc/dwc/dwc-i2s.c                            |    4 +
 sound/soc/dwc/dwc-pcm.c                            |    5 +-
 sound/soc/fsl/Kconfig                              |   11 -
 sound/soc/fsl/Makefile                             |    2 -
 sound/soc/fsl/fsl-asoc-card.c                      |    6 +-
 sound/soc/fsl/fsl_asrc.c                           |   10 -
 sound/soc/fsl/fsl_asrc.h                           |    3 +-
 sound/soc/fsl/fsl_asrc_dma.c                       |   14 +-
 sound/soc/fsl/fsl_dma.c                            |   27 +-
 sound/soc/fsl/fsl_esai.c                           |    2 +-
 sound/soc/fsl/fsl_ssi.c                            |  758 +++++-----
 sound/soc/fsl/fsl_ssi.h                            |    3 -
 sound/soc/fsl/fsl_utils.c                          |    2 +-
 sound/soc/fsl/imx-pcm-fiq.c                        |    6 +-
 sound/soc/fsl/imx-wm8962.c                         |  312 ----
 sound/soc/fsl/mpc5200_dma.c                        |   16 +-
 sound/soc/fsl/wm1133-ev1.c                         |    6 +-
 sound/soc/img/pistachio-internal-dac.c             |   34 +-
 sound/soc/intel/atom/sst-atom-controls.c           |   36 +-
 sound/soc/intel/atom/sst-mfld-platform-compress.c  |    4 +-
 sound/soc/intel/atom/sst-mfld-platform-pcm.c       |   32 +-
 sound/soc/intel/atom/sst-mfld-platform.h           |    4 +-
 sound/soc/intel/atom/sst/sst.c                     |   24 +-
 sound/soc/intel/atom/sst/sst.h                     |   20 +-
 sound/soc/intel/atom/sst/sst_acpi.c                |    3 +-
 sound/soc/intel/atom/sst/sst_drv_interface.c       |   19 -
 sound/soc/intel/atom/sst/sst_pvt.c                 |    8 -
 sound/soc/intel/atom/sst/sst_stream.c              |  117 +-
 sound/soc/intel/baytrail/sst-baytrail-pcm.c        |   66 +-
 sound/soc/intel/boards/Kconfig                     |   25 +
 sound/soc/intel/boards/Makefile                    |    4 +
 sound/soc/intel/boards/bdw-rt5677.c                |   41 +-
 sound/soc/intel/boards/broadwell.c                 |   17 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c      |   12 +-
 sound/soc/intel/boards/bxt_rt298.c                 |   27 +-
 sound/soc/intel/boards/byt-rt5640.c                |    4 +-
 sound/soc/intel/boards/bytcr_rt5640.c              |    8 +-
 sound/soc/intel/boards/bytcr_rt5651.c              |  466 +++++-
 sound/soc/intel/boards/cht_bsw_nau8824.c           |  282 ++++
 sound/soc/intel/boards/cht_bsw_rt5645.c            |    8 +-
 sound/soc/intel/boards/cht_bsw_rt5672.c            |   18 +-
 sound/soc/intel/boards/haswell.c                   |    3 +-
 sound/soc/intel/boards/kbl_da7219_max98357a.c      |  613 ++++++++
 sound/soc/intel/boards/kbl_rt5663_max98927.c       |   19 +-
 .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c  |   14 +-
 sound/soc/intel/boards/skl_nau88l25_max98357a.c    |   12 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c      |   12 +-
 sound/soc/intel/boards/skl_rt286.c                 |   12 +-
 sound/soc/intel/common/soc-acpi-intel-cht-match.c  |    9 +
 sound/soc/intel/haswell/sst-haswell-ipc.h          |    2 +
 sound/soc/intel/haswell/sst-haswell-pcm.c          |  118 +-
 sound/soc/intel/skylake/skl-debug.c                |    2 +-
 sound/soc/intel/skylake/skl-messages.c             |    9 +-
 sound/soc/intel/skylake/skl-pcm.c                  |   72 +-
 sound/soc/intel/skylake/skl-ssp-clk.c              |    4 +-
 sound/soc/intel/skylake/skl-sst-ipc.h              |    3 +
 sound/soc/intel/skylake/skl-topology.c             |  133 +-
 sound/soc/intel/skylake/skl-topology.h             |   15 +-
 sound/soc/intel/skylake/skl.c                      |   40 +
 sound/soc/intel/skylake/skl.h                      |    6 +-
 sound/soc/kirkwood/kirkwood-dma.c                  |    3 +-
 sound/soc/kirkwood/kirkwood-i2s.c                  |   20 +-
 sound/soc/kirkwood/kirkwood.h                      |    4 +-
 sound/soc/mediatek/common/mtk-afe-fe-dai.c         |   16 +-
 .../soc/mediatek/common/mtk-afe-platform-driver.c  |    9 +-
 .../soc/mediatek/common/mtk-afe-platform-driver.h  |    3 +-
 sound/soc/mediatek/mt2701/mt2701-afe-pcm.c         |   54 +-
 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c         |   42 +-
 sound/soc/mediatek/mt8173/mt8173-max98090.c        |    4 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c   |    6 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c   |   12 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650.c          |   12 +-
 sound/soc/nuc900/nuc900-pcm.c                      |    5 +-
 sound/soc/omap/ams-delta.c                         |   20 +-
 sound/soc/omap/omap-abe-twl6040.c                  |    8 +-
 sound/soc/omap/omap-pcm.c                          |    5 +-
 sound/soc/pxa/mioa701_wm9713.c                     |   30 +-
 sound/soc/pxa/mmp-pcm.c                            |   11 +-
 sound/soc/pxa/mmp-sspa.c                           |    1 -
 sound/soc/pxa/pxa2xx-pcm.c                         |    5 +-
 sound/soc/pxa/ttc-dkb.c                            |    6 +-
 sound/soc/qcom/lpass-platform.c                    |   42 +-
 sound/soc/rockchip/Kconfig                         |    3 +
 sound/soc/rockchip/rk3288_hdmi_analog.c            |    2 +-
 sound/soc/rockchip/rk3399_gru_sound.c              |    4 +-
 sound/soc/rockchip/rockchip_rt5645.c               |    8 +-
 sound/soc/samsung/Makefile                         |    3 -
 sound/soc/samsung/i2s-regs.h                       |   11 +-
 sound/soc/samsung/i2s.c                            |   52 +-
 sound/soc/samsung/i2s.h                            |   11 +-
 sound/soc/samsung/idma.c                           |    5 +-
 sound/soc/samsung/littlemill.c                     |    8 +-
 sound/soc/samsung/lowland.c                        |   12 +-
 sound/soc/samsung/odroid.c                         |   33 +-
 sound/soc/samsung/snow.c                           |  229 ++-
 sound/soc/samsung/speyside.c                       |   12 +-
 sound/soc/samsung/tm2_wm5110.c                     |  206 ++-
 sound/soc/samsung/tobermory.c                      |    6 +-
 sound/soc/sh/dma-sh7760.c                          |    5 +-
 sound/soc/sh/fsi.c                                 |   24 +-
 sound/soc/sh/rcar/core.c                           |   36 +-
 sound/soc/sh/rcar/rsnd.h                           |   20 +
 sound/soc/sh/rcar/src.c                            |   22 +-
 sound/soc/sh/rcar/ssi.c                            |   16 +-
 sound/soc/sh/siu.h                                 |    2 +-
 sound/soc/sh/siu_dai.c                             |   10 +-
 sound/soc/sh/siu_pcm.c                             |    9 +-
 sound/soc/sirf/sirf-usp.h                          |    2 +-
 sound/soc/soc-ac97.c                               |   84 +-
 sound/soc/soc-core.c                               |  117 +-
 sound/soc/soc-dapm.c                               |   46 +-
 sound/soc/soc-generic-dmaengine-pcm.c              |  121 +-
 sound/soc/soc-io.c                                 |    7 +-
 sound/soc/soc-pcm.c                                |   11 +
 sound/soc/soc-topology.c                           |   35 +-
 sound/soc/soc-utils.c                              |   28 +-
 sound/soc/stm/stm32_adfsdm.c                       |    7 +-
 sound/soc/stm/stm32_sai.c                          |    2 +
 sound/soc/stm/stm32_sai.h                          |    2 +
 sound/soc/stm/stm32_sai_sub.c                      |  153 +-
 sound/soc/stm/stm32_spdifrx.c                      |    7 +-
 sound/soc/sunxi/sun4i-codec.c                      |   71 +-
 sound/soc/sunxi/sun8i-codec.c                      |   23 +-
 sound/soc/tegra/tegra_wm8903.c                     |    8 +-
 sound/soc/txx9/txx9aclc.c                          |   26 +-
 sound/soc/uniphier/Kconfig                         |   33 +
 sound/soc/uniphier/Makefile                        |    8 +
 sound/soc/uniphier/aio-compress.c                  |  438 ++++++
 sound/soc/uniphier/aio-core.c                      | 1138 ++++++++++++++
 sound/soc/uniphier/aio-cpu.c                       |  578 ++++++++
 sound/soc/uniphier/aio-dma.c                       |  319 ++++
 sound/soc/uniphier/aio-ld11.c                      |  431 ++++++
 sound/soc/uniphier/aio-pxs2.c                      |  320 ++++
 sound/soc/uniphier/aio-reg.h                       |  465 ++++++
 sound/soc/uniphier/aio.h                           |  359 +++++
 sound/soc/uniphier/evea.c                          |  102 +-
 sound/soc/xtensa/xtfpga-i2s.c                      |   17 +-
 sound/usb/card.c                                   |    7 +-
 sound/usb/card.h                                   |    2 +-
 sound/usb/clock.c                                  |  231 ++-
 sound/usb/clock.h                                  |    4 +-
 sound/usb/format.c                                 |   93 +-
 sound/usb/format.h                                 |    6 +-
 sound/usb/mixer.c                                  |  511 +++++--
 sound/usb/quirks.c                                 |  102 +-
 sound/usb/quirks.h                                 |    4 +
 sound/usb/stream.c                                 |  395 ++++-
 520 files changed, 29431 insertions(+), 23352 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/ak4458.txt
 create mode 100644 Documentation/devicetree/bindings/sound/ak5558.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt
 create mode 100644 Documentation/devicetree/bindings/sound/maxim,max9759.txt
 create mode 100644 Documentation/devicetree/bindings/sound/pcm1789.txt
 create mode 100644 Documentation/devicetree/bindings/sound/rohm,bd28623.txt
 create mode 100644 Documentation/devicetree/bindings/sound/tda7419.txt
 create mode 100644 Documentation/devicetree/bindings/sound/uniphier,aio.txt
 create mode 100644 include/dt-bindings/sound/rt5651.h
 create mode 100644 include/linux/usb/audio-v3.h
 delete mode 100644 include/sound/rt5651.h
 create mode 100644 sound/soc/amd/acp-da7219-max98357a.c
 delete mode 100644 sound/soc/blackfin/Kconfig
 delete mode 100644 sound/soc/blackfin/Makefile
 delete mode 100644 sound/soc/blackfin/bf5xx-ac97-pcm.c
 delete mode 100644 sound/soc/blackfin/bf5xx-ac97.c
 delete mode 100644 sound/soc/blackfin/bf5xx-ac97.h
 delete mode 100644 sound/soc/blackfin/bf5xx-ad1836.c
 delete mode 100644 sound/soc/blackfin/bf5xx-ad193x.c
 delete mode 100644 sound/soc/blackfin/bf5xx-ad1980.c
 delete mode 100644 sound/soc/blackfin/bf5xx-ad73311.c
 delete mode 100644 sound/soc/blackfin/bf5xx-i2s-pcm.c
 delete mode 100644 sound/soc/blackfin/bf5xx-i2s-pcm.h
 delete mode 100644 sound/soc/blackfin/bf5xx-i2s.c
 delete mode 100644 sound/soc/blackfin/bf5xx-sport.c
 delete mode 100644 sound/soc/blackfin/bf5xx-sport.h
 delete mode 100644 sound/soc/blackfin/bf5xx-ssm2602.c
 delete mode 100644 sound/soc/blackfin/bf6xx-i2s.c
 delete mode 100644 sound/soc/blackfin/bf6xx-sport.c
 delete mode 100644 sound/soc/blackfin/bf6xx-sport.h
 delete mode 100644 sound/soc/blackfin/bfin-eval-adau1373.c
 delete mode 100644 sound/soc/blackfin/bfin-eval-adau1701.c
 delete mode 100644 sound/soc/blackfin/bfin-eval-adau1x61.c
 delete mode 100644 sound/soc/blackfin/bfin-eval-adau1x81.c
 delete mode 100644 sound/soc/blackfin/bfin-eval-adav80x.c
 create mode 100644 sound/soc/codecs/ak4458.c
 create mode 100644 sound/soc/codecs/ak4458.h
 create mode 100644 sound/soc/codecs/ak5558.c
 create mode 100644 sound/soc/codecs/ak5558.h
 create mode 100644 sound/soc/codecs/bd28623.c
 create mode 100644 sound/soc/codecs/cpcap.c
 create mode 100644 sound/soc/codecs/max9759.c
 create mode 100644 sound/soc/codecs/pcm1789-i2c.c
 create mode 100644 sound/soc/codecs/pcm1789.c
 create mode 100644 sound/soc/codecs/pcm1789.h
 create mode 100644 sound/soc/codecs/tda7419.c
 delete mode 100644 sound/soc/fsl/imx-wm8962.c
 create mode 100644 sound/soc/intel/boards/cht_bsw_nau8824.c
 create mode 100644 sound/soc/intel/boards/kbl_da7219_max98357a.c
 create mode 100644 sound/soc/uniphier/aio-compress.c
 create mode 100644 sound/soc/uniphier/aio-core.c
 create mode 100644 sound/soc/uniphier/aio-cpu.c
 create mode 100644 sound/soc/uniphier/aio-dma.c
 create mode 100644 sound/soc/uniphier/aio-ld11.c
 create mode 100644 sound/soc/uniphier/aio-pxs2.c
 create mode 100644 sound/soc/uniphier/aio-reg.h
 create mode 100644 sound/soc/uniphier/aio.h

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05  8:27 [GIT PULL] sound updates for 4.17-rc1 Takashi Iwai
@ 2018-04-05 17:50 ` Linus Torvalds
  2018-04-05 18:18   ` Takashi Iwai
  2018-04-05 19:04   ` Mark Brown
  0 siblings, 2 replies; 9+ messages in thread
From: Linus Torvalds @ 2018-04-05 17:50 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 997 bytes --]

On Thu, Apr 5, 2018 at 1:27 AM, Takashi Iwai <tiwai@suse.de> wrote:
>
> This became a large update.  The changes are scattered widely,
> and majority of them are attributed to ASoC componentization.
> The gitk output made me dizzy, but it's slightly better than
> London tube.

The patter with empty pointless merges from Mark Brown continues.

Mark, we talked about this already. YOU ARE DOING SOMETHING HORRIBLY
WRONG. You already admitted to automated merging, I already told you
not to do that.

Stop it already.

I'm going to ask Takashi to stop pulling stuff from you, and *I* am
going to stop pulling stuff from you, as long as you have these
idiotic automated daily empty merges.

I'm attaching a screenshot of part of this to give as an example of
what I see when I pull.

STOP MERGING THE SAME BRANCHES OVER AND OVER AGAIN, DAMMIT!

If you have merged a branch once, don't do it again tomorrow.

I have pulled this, but I won't pull this kind idiotic mess again.

                 Linus

[-- Attachment #2: broonie.png --]
[-- Type: image/png, Size: 134108 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05 17:50 ` Linus Torvalds
@ 2018-04-05 18:18   ` Takashi Iwai
  2018-04-05 18:31     ` Linus Torvalds
  2018-04-05 19:04   ` Mark Brown
  1 sibling, 1 reply; 9+ messages in thread
From: Takashi Iwai @ 2018-04-05 18:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List

On Thu, 05 Apr 2018 19:50:26 +0200,
Linus Torvalds wrote:
> 
> On Thu, Apr 5, 2018 at 1:27 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > This became a large update.  The changes are scattered widely,
> > and majority of them are attributed to ASoC componentization.
> > The gitk output made me dizzy, but it's slightly better than
> > London tube.
> 
> The patter with empty pointless merges from Mark Brown continues.
> 
> Mark, we talked about this already. YOU ARE DOING SOMETHING HORRIBLY
> WRONG. You already admitted to automated merging, I already told you
> not to do that.
> 
> Stop it already.
> 
> I'm going to ask Takashi to stop pulling stuff from you, and *I* am
> going to stop pulling stuff from you, as long as you have these
> idiotic automated daily empty merges.
> 
> I'm attaching a screenshot of part of this to give as an example of
> what I see when I pull.

Argh, it's my fault that I overlooked that part, sorry.
The recent merges were still complex (extremely fine-split branches)
but they were no empty merges.  Then I seem to have overlooked the
middle carelessly.

All the empty merges were during my previous vacation, so it must have
been the leftover of the previous bad pull request.  Oh well.


Takashi

> STOP MERGING THE SAME BRANCHES OVER AND OVER AGAIN, DAMMIT!
> 
> If you have merged a branch once, don't do it again tomorrow.
> 
> I have pulled this, but I won't pull this kind idiotic mess again.
> 
>                  Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05 18:18   ` Takashi Iwai
@ 2018-04-05 18:31     ` Linus Torvalds
  0 siblings, 0 replies; 9+ messages in thread
From: Linus Torvalds @ 2018-04-05 18:31 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List

On Thu, Apr 5, 2018 at 11:18 AM, Takashi Iwai <tiwai@suse.de> wrote:
>
> All the empty merges were during my previous vacation, so it must have
> been the leftover of the previous bad pull request.  Oh well.

Oh, so they might be from the bad old times when Mark was still doing
this, and be a symptom of something that has already stopped?

Let's hope so, and that the problem is already fixed and this was just
a remnant from before that fix went into effect.

Thanks,
           Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05 17:50 ` Linus Torvalds
  2018-04-05 18:18   ` Takashi Iwai
@ 2018-04-05 19:04   ` Mark Brown
  2018-04-05 19:32     ` Linus Torvalds
  1 sibling, 1 reply; 9+ messages in thread
From: Mark Brown @ 2018-04-05 19:04 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Takashi Iwai, Liam Girdwood, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 3298 bytes --]

On Thu, Apr 05, 2018 at 10:50:26AM -0700, Linus Torvalds wrote:

> Mark, we talked about this already. YOU ARE DOING SOMETHING HORRIBLY
> WRONG. You already admitted to automated merging, I already told you
> not to do that.

Ah, sorry - my impression was rather that the issue was the mess caused
by the history being too complex for git to eliminate null merges.  IIRC
you didn't say much when I explained what the automation is there for
which I (apparently incorrectly) took as as being OK with the
automation, just not the results it ended up doing in that particular
pull request.

> I'm attaching a screenshot of part of this to give as an example of
> what I see when I pull.

I agree it's not super lovely.

I looked at the image and also rechecked the history I'm seeing in gitk
and I didn't spot cases where one topic branch was merged more than once
though it's possible I missed something.  I do see a couple of cases
where I merged the fix branch up into the topic branch more than once in
order to resolve some conflicts that'd otherwise have been painful for
anyone working on things, and one case where I applied a fix twice for
some reason.  There *are* a very large number of commits with very
similar subject lines sitting in branches but I'm not seeing any
instances of the previous problem, AFAICT it's that there's lots of
branches since Morimoto-san ended up touching almost every driver and I
put them on per-driver branches like I usually do.

> STOP MERGING THE SAME BRANCHES OVER AND OVER AGAIN, DAMMIT!

> If you have merged a branch once, don't do it again tomorrow.

Just to be clear the merges I did one day get thrown away the next if
they weren't included in a pull request, the scripts only try to merge
anything once and are done this way mainly to try to avoid generating
pull requests which have incremental merges of the same branch.

I'm a little bit confused about what's best to do here.  The reason I'm
throwing the merge away and redoing it is that you've previously said
that you don't want to see main development branches that contain
nothing but long strings of merges, if I keep the same set of branches
and just do the merges incrementally every time a branch is added or
changes then there'd be even more merges which I'm pretty sure you
wouldn't be at all happy with either.

I could also just stop doing topic branches but that makes any cross
tree merges that need doing painfully big, this was why I started doing
topics so much.  I could go half way to that and try to figure out in
advance which things will end up needing cross tree merges but that
never worked out that well in the past.  I suppose I could also just
duplicate commits to make the topic branches if things need cross tree
merges after the fact, that's not great either though it does make for a
minimal number of branches while avoiding messy cross tree merges.

In the absence of any other feedback I guess I should just stop using
topic branches so much and go back to putting everything I don't
explicitly know will need a cross tree merge on just one fixes and one
-next branch and hope we don't need too many cross tree merges I didn't
anticipate.  Or possibly keep the fixes branches since they do get
individually used much more often and there's far fewer of them.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05 19:04   ` Mark Brown
@ 2018-04-05 19:32     ` Linus Torvalds
  2018-04-06  1:11       ` Mark Brown
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2018-04-05 19:32 UTC (permalink / raw)
  To: Mark Brown; +Cc: Takashi Iwai, Liam Girdwood, Linux Kernel Mailing List

On Thu, Apr 5, 2018 at 12:04 PM, Mark Brown <broonie@kernel.org> wrote:
>
> I'm a little bit confused about what's best to do here.  The reason I'm
> throwing the merge away and redoing it is that you've previously said
> that you don't want to see main development branches that contain
> nothing but long strings of merges, if I keep the same set of branches
> and just do the merges incrementally every time a branch is added or
> changes then there'd be even more merges which I'm pretty sure you
> wouldn't be at all happy with either.

Don't do the merges AT ALL. Not until the branch is done. Stop the
whole "daily merges" entirely. It's wrong.

The whole idea with a topic branch is that it's a topic branch. You do
the development on that branch, and then at the END of development you
merge it once and that branch is now *dead*. If you continue using
that branch, you shouldn't be merging it.

So nobody ever sees empty merges, because by definition they never
happen.  You only merge a branch once, and obviously only when it
actually had real changes in it.

And if you do daily merges for testing, then do them into a *testing*
branch. Those daily merges have nothing what-so-ever to do with what
you should send upstream, they are for testing.

In short: do not do any automated merges for upstreaming AT ALL.
Automated merging for that is WRONG. Don't do it.

It really is that simple.

So we have roughly three entirely different cases:

 (1) testing (daily, weekly, hourly, "on demand", "when I feel like
it", or for linux-next, or whatever).

     This has absolutely *nothing* to do with upstreaming, and
shouldn't ever be in your development branch.

     Have a separate branch for testing (or for "linux-next pulls
this"), and then you can do automated merging in that branch, but the
whole point is that is a throw-away branch for checking things out.

     The kinds of things you check out can be many different things,
like "does it merge at all and have conflicts?" or "does it build?" or
"does it work?".

     The more of this kind of automation you do the better. Do it
daily. Do it every hour. Have a test-farm that does a build every
single time any branch changes at all. Whatever floats your boat.

     And nobody will ever complain, because nobody will ever even
*see* it. Except perhaps in the sense of "Wow, Mark really does a
great job, and all his branches just always work", because all the
daily testing you do means that you see any problems long before
anybody else sees it.

 (2) if you have an EXPLICIT REASON to merge

     You have two branches that have an actual dependency, or some
other interaction, and you want to merge them together.

     THIS IS NEVER EVER AUTOMATED!

     It shouldn't even be scripted, because this shouldn't be about
tens of branches anyway, and it certainly shouldn't be something all
that common, or something is seriously wrong.

     And btw, in this case the merge commit message should talk about
what the dependency was, which is another reason why this shouldn't be
scripted or automated.

 (3) if you are done and ready with a branch, and it's time to just
say "the development on this branch is all done, now I will ask
upstream to pull it, and I'll merge this into my upstream branch"

     THIS IS NEVER AUTOMATED!

     Sure, you might script it ("I have 35+ branches that I will send
out, I use a script to merge them all together"), but the act of
running that script is not something daily, it's something like "I am
now ready to ask Takashi to take this", so you do it before you do the
pull request to upstream.

See? Three cases. One of them may well be entirely automated and
possibly have a lot of merges, but that one will never ever be
relevant for upstream, and should never be in a branch that you expose
upstream anyway.

And you don't do merges and then undo them. If you do the automated
thing, just do them in a throw-away branch, so even then you never
need to undo them - because you just throw them away afterwards.

Now exactly when you decide to throw it away is entirely up to you.
Maybe you create a new branch each time you do a test build. Or maybe
you keep the same "merge after merge after merge" branch for a while,
and you only throw them away when you have done the "send upstream"
thing. Nobody will care, because nobody will ever see that outside of
the automation scripts.

Are there possibly other cases that are relevant? Maybe. But the above
should be the basic guideline. Upstream should basically have minimal
merges, because it really just makes history harder to see. The empty
merges in particular that clearly have no actual *reason* for them.

That's another way of seeing the same issue: if you cannot write an
actual explicit reason for the merge, it damn well should never EVER
show up upstream.

You have a lot of merges that have no actual merge commit message at
all. They say what they do, but they don't explain it. That should be
a big warning sign to you.

That's ok for automated testing (like pushing to linux-next or 0day
build-bot or whatever). But those things have *nothing* to do with
upstreaming, except in the indirect sense ("I've done a lot of testing
on these changes, so now I'm happy to merge them for upstreaming").

See the difference?

             Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-05 19:32     ` Linus Torvalds
@ 2018-04-06  1:11       ` Mark Brown
  2018-04-06  1:31         ` Linus Torvalds
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Brown @ 2018-04-06  1:11 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Takashi Iwai, Liam Girdwood, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 6087 bytes --]

On Thu, Apr 05, 2018 at 12:32:52PM -0700, Linus Torvalds wrote:

> The whole idea with a topic branch is that it's a topic branch. You do
> the development on that branch, and then at the END of development you
> merge it once and that branch is now *dead*. If you continue using
> that branch, you shouldn't be merging it.

Right, so even with things that aren't just "all the development on
driver X" stuff I do fairly often get cases where there's ongoing
development, for example where things have been split up for ease of
review but each series is still useful in itself.  If I'm creating topic
branches less aggressively it'd usually be either for cross tree merges
or because I expect further development in that area it'd be useful to
group together for posterity.  You seem to be saying don't do the latter
which is fine so long as I know it.

> So nobody ever sees empty merges, because by definition they never
> happen.  You only merge a branch once, and obviously only when it
> actually had real changes in it.

Like I say I'm pretty sure all the merges there now are bringing some
content in so that at least shouldn't have been an issue.

> And if you do daily merges for testing, then do them into a *testing*
> branch. Those daily merges have nothing what-so-ever to do with what
> you should send upstream, they are for testing.

> In short: do not do any automated merges for upstreaming AT ALL.
> Automated merging for that is WRONG. Don't do it.

OK.  The way I've been thinking about this has been that I'm doing the
daily merges for testing and then what I have for upstream is a snapshot
of something that had successful testing, I try to avoid modifying
whatever the last thing in -next was.  

>  (1) testing (daily, weekly, hourly, "on demand", "when I feel like
> it", or for linux-next, or whatever).

...

>      The more of this kind of automation you do the better. Do it
> daily. Do it every hour. Have a test-farm that does a build every
> single time any branch changes at all. Whatever floats your boat.
> 
>      And nobody will ever complain, because nobody will ever even
> *see* it. Except perhaps in the sense of "Wow, Mark really does a
> great job, and all his branches just always work", because all the
> daily testing you do means that you see any problems long before
> anybody else sees it.

Some of the test automation people occasionally complain about the load
I put on their systems already.

>  (2) if you have an EXPLICIT REASON to merge

>      You have two branches that have an actual dependency, or some
> other interaction, and you want to merge them together.

>      THIS IS NEVER EVER AUTOMATED!

>      It shouldn't even be scripted, because this shouldn't be about
> tens of branches anyway, and it certainly shouldn't be something all
> that common, or something is seriously wrong.

>      And btw, in this case the merge commit message should talk about
> what the dependency was, which is another reason why this shouldn't be
> scripted or automated.

Indeed, I'm doing this already except I rarely manually write a commit
message (90% of them are relatively obvious "pull in X API so we can use
it" or "merge up the fixes branch" stuff but yeah, could do better).
The merges are only ever generated by hand.

>  (3) if you are done and ready with a branch, and it's time to just
> say "the development on this branch is all done, now I will ask
> upstream to pull it, and I'll merge this into my upstream branch"

>      THIS IS NEVER AUTOMATED!

>      Sure, you might script it ("I have 35+ branches that I will send
> out, I use a script to merge them all together"), but the act of
> running that script is not something daily, it's something like "I am
> now ready to ask Takashi to take this", so you do it before you do the
> pull request to upstream.

Hrm, OK.  This I find unclear in that if you're saying it's OK to script
the merge of lots of branches I'm having trouble seeing the distinction
between that and the test merges you're talking about.  Any verbiage in
the individual merge commits if they're done en masse is going to at
best be very formulaic unless I do something like use git notes to store
a brief blurb about the topic of the branch (and even then it's likely
to get quite repetitive).  I'm seeing merge commits from other people
that look rather like that may be happening, and others that look like
they're pretty much just using git shortlog as the merge message.

I've been approaching things from the point of view that I merge
everything and then I write a signed tag explaining what that was all
about, I'd really like to be able to roll up the entire transaction but
the way to do that is a cthulhu merge which has other issues.

> You have a lot of merges that have no actual merge commit message at
> all. They say what they do, but they don't explain it. That should be
> a big warning sign to you.

It really doesn't set off alarm bells for me when reading logs, perhaps
as a result of having worked on things outside upstream (and outside the
kernel) where there were a lot of pretty routine and mechanical process
merges going on.  

> That's ok for automated testing (like pushing to linux-next or 0day
> build-bot or whatever). But those things have *nothing* to do with
> upstreaming, except in the indirect sense ("I've done a lot of testing
> on these changes, so now I'm happy to merge them for upstreaming").

> See the difference?

Honestly what I'm getting from this is that I should try to minimize the
number of topic branches I create since anything that generates a
non-trivial number of them is going to want automation which seems like
it's going to cause problems one way or another.  I appreciate that
you're talking mainly about commit messages on the merges in this mail
but the issues there are partly a product of volume and you have been
complaining about what the gitk looks like too which is definitely a
product of volume.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-06  1:11       ` Mark Brown
@ 2018-04-06  1:31         ` Linus Torvalds
  2018-04-06 12:18           ` Mark Brown
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2018-04-06  1:31 UTC (permalink / raw)
  To: Mark Brown; +Cc: Takashi Iwai, Liam Girdwood, Linux Kernel Mailing List

On Thu, Apr 5, 2018 at 6:11 PM, Mark Brown <broonie@kernel.org> wrote:
>
>>  (3) if you are done and ready with a branch, and it's time to just
>> say "the development on this branch is all done, now I will ask
>> upstream to pull it, and I'll merge this into my upstream branch"
>
>>      THIS IS NEVER AUTOMATED!
>
>>      Sure, you might script it ("I have 35+ branches that I will send
>> out, I use a script to merge them all together"), but the act of
>> running that script is not something daily, it's something like "I am
>> now ready to ask Takashi to take this", so you do it before you do the
>> pull request to upstream.
>
> Hrm, OK.  This I find unclear in that if you're saying it's OK to script
> the merge of lots of branches I'm having trouble seeing the distinction
> between that and the test merges you're talking about.

The distinction is in intent and timing - and resulting history.

The "merge for release" happens once - when you are ready to send it
out. The end result is a single merge that brings in the changes to
the code, and a history that is legible and understandable.

So if you have 50 branches with new code, and they all have the
changes you were working on, maybe there's a lot of merges (not
necessarily 50 of them, since you use octopus merges, but easily ten).

But the merges they are are the *only* thing that brings in the new
code, and when you look at history, the code development within one
topic branch is nice and linear and there aren't odd other merges in
the middle.

That makes it a *lot* easier to follow a certain strand of development
(namely the strand of your topic branch). There aren't five other
random merges that pull in the changes part-way through.

So the "merge for release" is something that has been THOUGHT about.
Maybe there was scripting simply because there were lots of branches,
but it was all ready and intentional, and none of it should have been
merged in some half-way ready state. By definition, the branches you
merged were *ready*.

Otherwise you shouldn't have been merging them for an upstream pull
request at all!

See?

In contrast, the "merge for testing" happens at random times and
happens multiple times. There is no *thought* behind the merge that
brings in the code, it's literally just "I'm testing everything I
have". It's not necessarily just scripted in the sense of "I have 50
branches", but it is scripted and automated in a much bigger sense -
you don't even care if things are ready, you just want to run build
tests and maybe boot tests on whatever you happen to have at the time.

See how completely different such a merge is?

So what I'm trying to explain is that upstream does not want to see
those "whatever you happen to have at the time" merges. They are
*WRONG*. They actively make it harder to see the history of the code.

         Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [GIT PULL] sound updates for 4.17-rc1
  2018-04-06  1:31         ` Linus Torvalds
@ 2018-04-06 12:18           ` Mark Brown
  0 siblings, 0 replies; 9+ messages in thread
From: Mark Brown @ 2018-04-06 12:18 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Takashi Iwai, Liam Girdwood, Linux Kernel Mailing List

On Thu, Apr 05, 2018 at 06:31:37PM -0700, Linus Torvalds wrote:
> On Thu, Apr 5, 2018 at 6:11 PM, Mark Brown <broonie@kernel.org> wrote:

[No signature, managed to leave my smartcard at home, sorry :/]

> >>  (3) if you are done and ready with a branch, and it's time to just
> >> say "the development on this branch is all done, now I will ask
> >> upstream to pull it, and I'll merge this into my upstream branch"

> >>      THIS IS NEVER AUTOMATED!

> >>      Sure, you might script it ("I have 35+ branches that I will send
> >> out, I use a script to merge them all together"), but the act of
> >> running that script is not something daily, it's something like "I am
> >> now ready to ask Takashi to take this", so you do it before you do the
> >> pull request to upstream.

> > Hrm, OK.  This I find unclear in that if you're saying it's OK to script
> > the merge of lots of branches I'm having trouble seeing the distinction
> > between that and the test merges you're talking about.

> The distinction is in intent and timing - and resulting history.

> The "merge for release" happens once - when you are ready to send it
> out. The end result is a single merge that brings in the changes to
> the code, and a history that is legible and understandable.

> So if you have 50 branches with new code, and they all have the
> changes you were working on, maybe there's a lot of merges (not
> necessarily 50 of them, since you use octopus merges, but easily ten).

Indeed, that's what my script is doing. 

> But the merges they are are the *only* thing that brings in the new
> code, and when you look at history, the code development within one
> topic branch is nice and linear and there aren't odd other merges in
> the middle.

> That makes it a *lot* easier to follow a certain strand of development
> (namely the strand of your topic branch). There aren't five other
> random merges that pull in the changes part-way through.

Indeed - that's what most of the branches do.  The main cases where
there are merges are "merge up the fixes because it's broken without or
conflicts a lot" and "merge this new API we're about to start using".
Like I said in my last e-mail I can easily write a bit of blurb for
those ones, there's definitely room for improvement there.

> So the "merge for release" is something that has been THOUGHT about.
> Maybe there was scripting simply because there were lots of branches,
> but it was all ready and intentional, and none of it should have been
> merged in some half-way ready state. By definition, the branches you
> merged were *ready*.

> Otherwise you shouldn't have been merging them for an upstream pull
> request at all!

> See?

Honestly not really; to me the end result of doing that without manually
writing some blurb on each branch (and adding some delays and so on) is
going to be identical to that a for test merge as far as someone reading
the history is concerned so I'm no further forwards unless I just have
much fewer branches like I say.  It really feels like the big gap here
is that you see creating branches and merging them as much more
substantial operations than I do, like I said in the prior e-mail I
think a lot of that is coming from other things I've worked with where
merges were more common.

I do already go through a process of thinking about what's in there much
like you describe both before deciding to tag things, and then carry on
doing so as I write the signed tag.  It doesn't usually involve me
rebuilding the merge simply because normally the outcome is that
everything is already fine (that is the goal), and even on the occasions
where I do rebuild I can't see a way to usefully convey that with
automation.  When I look at other people's merge for pull type stuff I'm
not seeing any obvious ideas beyond going down to single branch merges
and it seems like without reducing the number that'd also set off your
alarm bells.

I think I get and agree with what you're saying about the thought
process behind what to send upstream, what I'm not getting is how to
convey it.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-04-06 12:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-05  8:27 [GIT PULL] sound updates for 4.17-rc1 Takashi Iwai
2018-04-05 17:50 ` Linus Torvalds
2018-04-05 18:18   ` Takashi Iwai
2018-04-05 18:31     ` Linus Torvalds
2018-04-05 19:04   ` Mark Brown
2018-04-05 19:32     ` Linus Torvalds
2018-04-06  1:11       ` Mark Brown
2018-04-06  1:31         ` Linus Torvalds
2018-04-06 12:18           ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).