linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] sound updates for 4.15-rc1
@ 2017-11-14 14:51 Takashi Iwai
  2017-11-15  2:40 ` Linus Torvalds
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-11-14 14:51 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, linux-kernel

Linus,

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

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

The topmost commit is 7087cb8fad5e19113d82f47f351fc6b338948d5f

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

sound updates for 4.15-rc1

There are no big surprising changes in this cycle, yet not too
boring, either.  The biggest change from diffstat POV is the removal
of the legacy OSS driver codes that have been already disabled for a
long time.  This will bring a few trivial merge conflicts.

As new features in ASoC side, there are two things: a new AC97 bus
implementation and AMD Stony platform support.  Both include the
relevant changes shared with other subsystems, e.g. AC97 MFD changes
and DRM AMD changes.

Some other highlighted topics are:
- A bunch of USB-audio drivers got the hardening against the malicious
  device accesses with a new helper code for endpoint sanity check.
- Lots of cleanups for ASoC Intel platform code, including support for
  their open source audio firmware.
- Continued ASoC core componentization works.
- Support for scaling MCLK with sample rate in ASoC simple-card.
- Stabler PCM hot-unplug capability, especially for ASoC usages.

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

Akshu Agrawal (4):
      drm/amdgpu Moving amdgpu asic types to a separate file
      ASoC: AMD: Add machine driver for cz rt5650
      ASoC: amd: Make the driver name consistent across files
      ASoC: rt5645: Wait for 400msec before concluding on value of RT5645_VENDOR_ID2

Andrea Bondavalli (1):
      ASoC: sun4i-codec: fixed 32bit audio capture support for H3/H2+

Andrew F. Davis (1):
      ASoC: cs42l56: Fix reset GPIO name in example DT binding

Arnd Bergmann (8):
      ASoC: dapm: add initialization for w_param_text pointer
      ASoC: dapm: mark 'snd_soc_dapm_free_kcontrol' as static
      ASoC: Intel: fix Kconfig dependencies
      ASoC: intel: include linux/module.h as needed
      ASoC: Intel: improve DMADEVICES dependency
      ASoC: Intel: improve SND_SOC_INTEL_MACH dependencies
      ASoC: rt5514: mark PM functions as __maybe_unused
      ASoC: rt5514: work around link error

Arvind Yadav (3):
      ASoC: davinci-mcasp: Handle return value of devm_kasprintf
      ASoC: omap-hdmi-audio: Handle return value of devm_kasprintf
      ASoC: fsl-asoc-card: Handle return value of devm_kasprintf

Axel Lin (1):
      ASoC: max98925: Return proper error if revision mismatch

Bard Liao (4):
      ASoC: rt5670: add set_bclk_ratio in dai ops
      ASoC: rt5659: move set_sysclk to codec level
      ASoC: rt5659: move set_pll to codec level
      ASoC: rt5645: remove unexisting route on new rt5645

Bhumika Goyal (5):
      ALSA: oxygen: Xonar DG(X): make model_xonar_dg const
      ASoC: Intel: atom: make sst_platform_compr_ops const
      ALSA: hrtimer: make hrtimer_hw const and __initconst
      ASoC: kirkwood: make kirkwood_soc_platform const
      ALSA: line6: make snd_pcm_ops const

Carlo Caione (8):
      SoC: intel: byt: Introduce new custom IN2 map
      ASoC: rt5651: Convert rt5651 micbias1 to a supply widget
      ASoC: rt5651: Enable jack detection on JD* pins
      ASoC: rt5651: Enable jack detection on JD* pins
      ASoC: rt5651: Rework quirk logic
      ASoC: rt5651: Enable JD1_1 quirk for KIANO laptopt
      ASoC: intel: byt: Add headset jack
      ASoC: intel: byt: Enable IN2 map quirk for a KIANO laptop

Charles Keepax (9):
      ASoC: arizona: Add new common Arizona init function
      ASoC: arizona: Add handling for audio related device tree entries
      ASoC: arizona: Add audio device tree bindings
      mfd: arizona: Remove audio related device tree code
      mfd: arizona: Remove audio bindings from MFD binding document
      ASoC: arizona: Add support for setting the output volume limits
      ASoC: arizona: Add device tree binding doc for volume limits
      ASoC: wm8998: Correct handling of input muxes
      ASoC: wm8741: Use snd_soc_update_bits rather than hard coding

Chintan Patel (2):
      ASoC: Intel: Skylake: Fix jack name format substitution
      ASoC: Intel: Skylake: Decrease loglevel for topology loading

Chris Gorman (1):
      Documentation: sound: hd-audio: notes.rst

Christophe Jaillet (2):
      ASoC: samsung: i2s: Fix error handling path in i2s_set_sysclk()
      ASoC: davinci-mcasp: Fix an error handling path in 'davinci_mcasp_probe()'

Christos Gkekas (1):
      ASoC: cygnus: Remove unnecessary active_slots check

Colin Ian King (14):
      ASoC: fsl_spdif: make const arrays rate static
      ASoC: zte: spdif: remove duplicate initialization of dma_data
      ASoC: qcom: remove duplicate initializations of dma_ch and v
      ASoC: hdmi-codec: use sizeof_field rather than declaring hcp
      ASoC: rl6231: make arrays div and pd static const, reduces object code size
      ASoC: Intel: Skylake: fix swapped order of function arguments dir and pin_index
      ALSA: pcm: remove redundant variable runtime
      ALSA: ens137x: remove redundant variable result
      ALSA: emux: remove unused redundant variable p2
      ALSA: asihpi: clean up a couple of build warnings
      ALSA: 6fire: remove unused variable card
      ALSA: au88x0: remove redundant assignment of variable i
      ALSA: emu10k1: remove redundant assignment to tmp
      ASoC: Intel: sst: remove redundant variable dma_dev_name

Corentin LABBE (1):
      ASoC: Intel: Atom: Remove unneeded linux/miscdevice.h include

Damien Riegel (2):
      ASoC: codecs: msm8916-wcd-analog: use btn0 released detection
      ASoC: codecs: msm8916-wcd-analog: configure micbias in mbhc setup

Dan Carpenter (2):
      ALSA: hwdep: prevent a harmless shift wrapping bug
      ALSA: hda - silence uninitialized variable warning in activate_amp_in()

Douglas Anderson (1):
      ASoC: rockchip: Allocate enough memory so we don't overflow routes

Ed Blake (12):
      ASoC: img-i2s-out: Rename suspend / resume funcs
      ASoC: img-parallel-out: Add pm_runtime_get/put to set_fmt callback
      ASoC: img-spdif-out: Rename suspend / resume funcs
      ASoC: img-parallel-out: Check pm_runtime_get_sync return code
      ASoC: img-i2s-in: Add suspend / resume handling
      ASoC: img-i2s-in: Add runtime PM
      ASoC: img-i2s-out: Add suspend / resume handling
      ASoC: img-i2s-out: Add control of sys clock to runtime PM
      ASoC: img-spdif-in: Add suspend / resume handling
      ASoC: img-spdif-in: Add runtime PM
      ASoC: img-spdif-out: Add suspend / resume handling
      ASoC: img-spdif-out: Add control of sys clock to runtime PM

Fabio Estevam (1):
      ASoC: tfa9879: Add device tree bindings

Fang, Yang A (1):
      ASoC: ts3a227e: add acpi table

Geert Uytterhoeven (1):
      ASoC: fsi: Use of_device_get_match_data() helper

Guenter Roeck (1):
      ASoC: amd: use do_div rather than 64 bit division to fix 32 bit builds

Guneshwor Singh (5):
      ASoC: Intel: Skylake: Add flag to check to register FE dais from topology
      ASoC: Intel: Skylake: Add dai load ops for dais from topology
      ASoC: Intel: Skylake: Fix missing sentinel in sst_acpi_mach
      ASoC: Intel: Skylake: Fix updown mixer module format
      ASoC: Intel: Skylake: Add channel map in updown mixer module IPC

Gustavo A. R. Silva (7):
      ASoC: msm8916-wcd-analog: mark expected switch fall-through
      ASoC: tlv320aic23: mark expected switch fall-through
      ASoC: tlv320dac31xx: mark expected switch fall-through
      ASoC: tpa6130a2: mark expected switch fall-through
      ASoC: wm8753: mark expected switch fall-throughs
      ASoC: wm8993: mark expected switch fall-throughs
      ASoC: wm8994: mark expected switch fall-throughs

Hans P. Möller Ebner (1):
      ALSA: line6: add support for POD HD DESKTOP

Harsha Priya N (3):
      ASoC: Intel: Kbl: Add Playback DAI for fixup
      ASoC: Intel: Enable tdm slots for max98927
      ASoC: Intel: Fix setting of SSP parameters in Kabylake machine driver

Jaechul Lee (3):
      ASoC: samsung: i2s: Use specific name for i2s dais
      ASoC: samsung: Use 'samsung-i2s' cpu_dai for dai_links
      ASoC: samsung: Fix invalid argument when devm_gpiod_get is called

Jaikrishna Nemallapudi (1):
      ASoC: Intel: Skylake: Modify skl_dsp_set_dma_control API arguments

Jean Delvare (1):
      ASoC: rt5645: Make a few struct const

Jean-François Têtu (2):
      ASoC: msm8916-wcd-digital: fix RX2 MIX1 and RX3 MIX1
      ASoC: codecs: msm8916-wcd-analog: fix micbias level

Jeffy Chen (5):
      ASoC: rt5514: Add devicetree binding support for rt5514-spi
      ASoC: rockchip: Add dapm route for DMic
      ASoC: rockchip: Add dapm route for HDMI
      ASoC: rockchip: Init dapm routes dynamically
      ASoC: rockchip: Use bus_type to distinguish rt5514 dsp from rt5514 codec

John Keeping (1):
      ASoC: rockchip: i2s: fix unbalanced clk_disable

Jérémy Lefaure (1):
      ALSA: hda/ca0132 - use ARRAY_SIZE

Kees Cook (9):
      ALSA: sh: aica: Convert timers to use timer_setup()
      ALSA: timer: Convert timers to use timer_setup()
      ALSA: asihpi: Convert timers to use timer_setup()
      ALSA: usb-audio: Convert timers to use timer_setup()
      ALSA: drivers: Convert timers to use timer_setup()
      ALSA: emux: Convert timers to use timer_setup()
      ALSA: wavefront: Convert timers to use timer_setup()
      ALSA: sb: Convert timers to use timer_setup()
      ALSA: Convert timers to use timer_setup()

Konstantinos Tsimpoukas (1):
      ALSA: ice1712: define i2c eeprom addr to header file

Kuninori Morimoto (40):
      ASoC: rsnd: fix ADG flags
      ASoC: add missing snd_soc_component_set_jack
      ASoC: rsnd: add rsnd_dma_alloc()
      ASoC: soc-core: remove rtd NULL check on soc_free_pcm_runtime()
      ASoC: remove unneeded dai->driver check
      ASoC: remove unneeded dai->driver->ops check
      ASoC: add null_snd_soc_ops and reduce NULL ops check
      ASoC: add Component level pcm_new/pcm_free v2
      ASoC: add Component level set_bias_level
      ASoC: rcar: skip disabled-SSI nodes
      ASoC: rsnd: add generic rsnd_flags_xxx() macro
      ASoC: rsnd: use generic rsnd_flags_xxx() macro on ADG
      ASoC: rsnd: DVC kctrl sets once
      ASoC: rsnd: CTU kctrl sets once
      ASoC: rsnd: makes volume ramp rate list generic
      ASoC: rsnd: add MIX Volume Ramp support
      ASoC: soc-core: add component lookup functions
      ASoC: soc-core: add snd_soc_add_component()
      ASoC: soc-core: remove unnecessary message from snd_soc_register_component()
      ASoC: rsnd: add rsnd_kctrl_xxx() macro
      ASoC: rsnd: more clear ADG clock debug info
      ASoC: audio-graph-scu-card: add missing Capture routing on Example
      ASoC: audio-graph-scu-card: remove unnecessary route patch from Example 1
      ASoC: snd_soc_component_driver has snd_pcm_ops
      ASoC: snd_soc_component_driver has snd_compr_ops
      ASoC: snd_soc_component_driver has pmdown_time
      ASoC: snd_soc_component_driver has endianness
      ASoC: snd_soc_component_driver has non_legacy_dai_naming
      ASoC: rsnd: don't use io->mod[] directly
      ASoC: rsnd: tidyup rsnd_mod_next() for loop method
      ASoC: rsnd: NULL check is not needed for clk_unprepare()
      ASoC: rsnd: use snd_pcm_running() in rsnd_io_is_working()
      ASoC: rsnd: Don't check SSISR::DIRQ when Capture
      ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod
      ASoC: rsnd: remove NULL check from rsnd_mod_name()/rsnd_mod_id()
      ASoC: rsnd: return -EIO if rsnd_dmaen_request_channel() failed
      ASoC: add snd_soc_component_read32
      ASoC: add snd_soc_component_xxx_bias_level()
      ASoC: add snd_soc_component_cache_sync()
      ASoC: add snd_soc_dapm_kcontrol_component()

Li Xu (1):
      ASoC: cs43130: Add break keyword to switch case

Lori Hikichi (3):
      ASoC: cygnus: Add EXPORT_SYMBOL for helper function
      ASoC: cygnus: Remove set_fmt from SPDIF dai ops
      ASoC: cygnus: Remove support for 8 bit audio and for mono

Marco Franchi (1):
      ASoC: sgtl5000: Remove leading zero from '@0a' notation

Marek Szyprowski (1):
      ASoC: samsung: i2s: disable secondary DAI until it gets fixed

Mark Brown (3):
      ASoC: wm9712: Add missing brace
      Revert "ASoC: rt5651: Enable jack detection on JD* pins"
      ASoC: pcm512x: Scrub my work address from the driver

Matthias Reichl (4):
      ASoC: bcm2835: Add support for TDM modes
      ASoC: bcm2835: Support additional samplerates up to 384kHz
      ASoC: bcm2835: Enforce full symmetry
      ASoC: bcm2835: Support left/right justified and DSP modes

Maxime Ripard (4):
      ASoC: sun8i-codec: Invert Master / Slave condition
      ASoC: sun8i-codec: Fix left and right channels inversion
      ASoC: sun8i-codec: Set the BCLK divider
      ASoC: sun8i-codec: Add a comment on the LRCK inversion

Naveen M (1):
      ASoC: Intel: Headset button support in kabylake machine driver

Nicolas Dechesne (1):
      ASoC: codecs: msm8916-wcd-analog: fix module autoload

Nicolin Chen (2):
      ASoC: fsl_ssi: Caculate bit clock rate using slot number and width
      ASoC: fsl-asoc-card: Don't error out if ENOTSUPP

Nik Nyby (1):
      ASoC: dwc: fix typos in Kconfig

Oder Chiou (3):
      ASoC: rt5663: Add the function of impedance sensing
      ASoC: rt5514-spi: Let the buf_size to align with period_bytes
      ASoC: rt5663: Delay and retry reading rt5663 ID register

Olivier Moysan (9):
      ASoC: stm32: sai: fix stop management in isr
      ASoC: stm32: sai: Fix DMA burst size
      ASoC: stm32: sai: Fix get reset controller
      ASoC: stm32: Add synchronization to SAI bindings
      ASoC: stm32: sai: Move static settings to DAI init
      ASoC: stm32: sai: Remove spurious IRQs on stop
      ASoC: stm32: sai: Add synchronization support
      ASoC: add mclk-fs to audio graph card binding
      ASoC: add mclk-fs support to audio graph card

Pankaj Bharadiya (3):
      ASoC: Intel: Skylake: Fix potential NULL pointer dereference
      ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case
      ASoC: Intel: Skylake: Check for NHLT ACPI header signature

Peisen (1):
      ALSA: hda/realtek - Add support for ALC1220

Pierre-Louis Bossart (31):
      ASoC: Intel: boards: use devm_clk_get() unconditionally
      ASoC: Intel: bytcr-rt5651: fix capture routes
      ASoC: Intel: bytcr_rt5640: simplify MCLK quirk tests
      ASoC: max98090: reduce verbosity on PLL unlock
      ASoC: Intel: cht_bsw_max98090: Fix I2S config + unused code
      ASoC: Intel: cht_bsw_max98090: add support for Baytrail
      ASoC: Intel: atom: use cht_bsw_max98090 for Baytrail Chromebooks
      ASoC: Intel: cht_bsw_max98090: add gpio-based jack detection
      ASoC: rt5670: refactor DMI quirks and fix Dell Venue settings
      ASoC: Intel: cht_bsw_rt5672: use actual HID in suspend/resume
      ASoC: Intel: cht_bsw_rt5672: fix card name
      ASoC: Intel: cht_bsw_max98090: remove useless code, align with ChromeOS driver
      ASoC: Add helper to find codec_dai from dai_name
      ASoC: Intel: bytcr_rt5651: add MCLK, quirks and cleanups
      ASoC: Intel: bytcr_rt5640: cosmetic fixes
      ASoC: Intel: cht_bsw_rt5645: cosmetic fixes
      ASoC: Intel: bytcht_da7213: cosmetic fixes
      ASoC: Intel: bytcht_es8316: remove useless code
      ASoC: Intel: boards: use helper to get codec_dai
      ASoC: Intel: boards: fix off-by-one dailink id
      ASoC: Intel: boards: remove hard-coded compressed dailinks
      ASoC: move ACPI common code out of Intel/sst tree
      ASoC: Intel: common: use c99 syntax for ACPI/machine tables
      ASoC: ACPI: add new fields for SOF support
      ASoC: Intel: move all ACPI match tables to common module
      ASoC: Intel: add SOF firmare/topology file information
      ASoC: Intel: move machine drivers to dedicated KConfig
      ASoC: Intel: reorder boards Kconfig by chronological order
      ASoC: Intel: clarify Kconfig dependencies
      ASoC: Intel: Add depends on X86
      ASoC: da7213: add support for DSP modes

Rakesh Ughreja (1):
      ALSA: hda: Abort capability probe on invalid capability

Randy Dunlap (2):
      ALSA: fix kernel-doc build warning
      ASoC: fix build warning in soc-core.c

Robert Jarzmik (12):
      ALSA: ac97: split out the generic ac97 registers
      ALSA: ac97: add an ac97 bus
      ASoC: add new ac97 bus support
      ASoC: arm: make pxa2xx-ac97-lib ac97 codec agnostic
      Input: wm97xx: split out touchscreen registering
      mfd: wm97xx-core: core support for wm97xx Codec
      Input: wm97xx: add new AC97 bus support
      ASoC: wm9713: add ac97 new bus support
      ASoC: wm9712: add ac97 new bus support
      ASoC: wm9705: add private structure
      ASoC: wm9705: add ac97 new bus support
      ASoC: wm97xx: fix compilation corner case

Ryan Lee (2):
      ASoC: max98927: Added support for DSP_A and DSP_B format
      ASoC: max98927: Added max98927_dai_tdm_slot function

Sergej Sawazki (1):
      ASoC: wm8741: Fix setting BCLK and LRCLK polarity

Sriram Periyasamy (2):
      ASoC: Intel: Skylake: Optimize UUID handling to fill pin info
      ASoC: Intel: Skylake: Add dynamic module id support

Stuart Henderson (1):
      ASoC: dapm: Make snd_soc_dapm_add/del_routes use runtime mutex subclass

Subhransu S. Prusty (3):
      ASoC: hdac_hdmi: Fix static checker warning for sprintf usage
      ASoC: hdac_hdmi: Fix possible NULL pointer dereference
      ASoC: hdac_hdmi: Fix possible memory leak on parse and map nid failure

Takashi Iwai (23):
      ASoC: tas571x: Kill BUG_ON() usage
      ASoC: davinci: Kill BUG_ON() usage
      ASoC: intel: Kill BUG_ON() usage
      ASoC: pcm: Sync delayed work before releasing resources
      ALSA: usb-audio: Apply vendor ID matching for sample rate quirk
      ALSA: seq: Add sanity check for user-space pointer delivery
      ALSA: add snd_card_disconnect_sync()
      usb: core: Add a helper function to check the validity of EP type in URB
      ALSA: bcd2000: Add a sanity check for invalid EPs
      ALSA: caiaq: Add a sanity check for invalid EPs
      ALSA: line6: Add a sanity check for invalid EPs
      ALSA: usb-audio: Add sanity checks for invalid EPs
      ALSA: usx2y: Add sanity checks for invalid EPs
      ALSA: hiface: Add sanity checks for invalid EPs
      ALSA: caiaq: Add yet more sanity checks for invalid EPs
      ALSA: line6: Add yet more sanity checks for invalid EPs
      ALSA: pcm: Don't call register and disconnect callbacks for internal PCM
      ALSA: pcm: Forcibly stop at disconnect callback
      ALSA: hda - Add model string for Intel reference board quirk
      ALSA: hda: Avoid racy recreation of widget kobjects
      ALSA: sb: Minor optimization / fix of timer usage in sb8_midi.c
      sound: Retire OSS
      ALSA: usx2y: Fix invalid stream URBs

Thierry Escande (1):
      ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization

Vijendar Mukunda (7):
      drm/amd/amdgpu: Added asic_type as ACP DMA driver platform data
      ASoC: AMD: Added asic_type as ACP DMA driver platform data
      ASoC: AMD: disabling memory gating in stoney platform
      ASoC: AMD: DMA driver changes for Stoney Platform
      ASoC: AMD: Audio buffer related changes for Stoney
      ASoC: amd: Report accurate hw_ptr during dma
      ASoC: amd: Modified DMA transfer Mechanism for Playback

Vinod Koul (1):
      ASoC: Intel: kbl: fix jack name

anish kumar (3):
      ASoC: dapm: fix error path in snd_soc_dapm_new_pcm
      ASoC: dapm: Refactor the code in snd_soc_dapm_new_pcm
      ASoC: dapm: Avoid creating kcontrol for params

jiada wang (1):
      ASoC: soc-pcm: check symmetry after hw_params

oder_chiou@realtek.com (4):
      ASoC: rt5514: The ACPI also should use the function rt5514_parse_dp()
      ASoC: rt5514: Voice wakeup support.
      ASoC: rt5514-spi: check irq status to schedule data copy in resume function
      ASoC: rt5663: Check the JD status in the button pushing

olivier moysan (3):
      ASoC: stm32: sai: fix warning in stm32_sai_set_config()
      ASoC: stm32: spdifrx: fix 16 bits capture
      ASoC: stm32: spdifrx: fix control DMA error management

---
 Documentation/devicetree/bindings/mfd/arizona.txt  |   40 +-
 .../devicetree/bindings/sound/audio-graph-card.txt |    1 +
 .../bindings/sound/audio-graph-scu-card.txt        |    5 +-
 .../devicetree/bindings/sound/cs42l56.txt          |    2 +-
 Documentation/devicetree/bindings/sound/rt5514.txt |   13 +-
 Documentation/devicetree/bindings/sound/rt5663.txt |   16 +
 .../devicetree/bindings/sound/sgtl5000.txt         |    2 +-
 .../devicetree/bindings/sound/st,stm32-sai.txt     |   14 +-
 .../devicetree/bindings/sound/tfa9879.txt          |   23 +
 .../devicetree/bindings/sound/wlf,arizona.txt      |   53 +
 Documentation/sound/hd-audio/models.rst            |    2 +
 Documentation/sound/oss/ALS                        |   66 -
 Documentation/sound/oss/AudioExcelDSP16            |  101 -
 Documentation/sound/oss/CMI8330                    |  152 -
 Documentation/sound/oss/ESS                        |   34 -
 Documentation/sound/oss/ESS1868                    |   55 -
 Documentation/sound/oss/Introduction               |  459 ---
 Documentation/sound/oss/MultiSound                 | 1137 --------
 Documentation/sound/oss/OPL3                       |    6 -
 Documentation/sound/oss/Opti                       |  218 --
 Documentation/sound/oss/PAS16                      |  162 --
 Documentation/sound/oss/PSS                        |   41 -
 Documentation/sound/oss/PSS-updates                |   88 -
 Documentation/sound/oss/README.OSS                 | 1455 ----------
 Documentation/sound/oss/README.modules             |  106 -
 Documentation/sound/oss/README.ymfsb               |  107 -
 Documentation/sound/oss/SoundPro                   |  105 -
 Documentation/sound/oss/Soundblaster               |   53 -
 Documentation/sound/oss/Tropez+                    |   26 -
 Documentation/sound/oss/VIBRA16                    |   80 -
 Documentation/sound/oss/WaveArtist                 |  170 --
 Documentation/sound/oss/btaudio                    |   92 -
 Documentation/sound/oss/mwave                      |  185 --
 Documentation/sound/oss/oss-parameters.txt         |   51 -
 Documentation/sound/oss/ultrasound                 |   30 -
 MAINTAINERS                                        |   12 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c            |    2 +
 drivers/gpu/drm/amd/include/amd_shared.h           |   29 +-
 drivers/input/touchscreen/Kconfig                  |    2 +-
 drivers/input/touchscreen/wm97xx-core.c            |  252 +-
 drivers/mfd/Kconfig                                |   14 +
 drivers/mfd/Makefile                               |    1 +
 drivers/mfd/arizona-core.c                         |  132 +-
 drivers/mfd/wm97xx-core.c                          |  366 +++
 drivers/usb/core/urb.c                             |   30 +-
 include/drm/amd_asic_type.h                        |   52 +
 include/linux/mfd/arizona/pdata.h                  |    3 +
 include/linux/mfd/wm97xx.h                         |   25 +
 include/linux/usb.h                                |    2 +
 include/sound/ac97/codec.h                         |  118 +
 include/sound/ac97/compat.h                        |   20 +
 include/sound/ac97/controller.h                    |   85 +
 include/sound/ac97/regs.h                          |  262 ++
 include/sound/ac97_codec.h                         |  239 +-
 include/sound/core.h                               |    2 +
 include/sound/hdaudio.h                            |    3 +-
 include/sound/pxa2xx-lib.h                         |   15 +-
 include/sound/rt5651.h                             |    8 +
 include/sound/rt5663.h                             |    3 +
 include/sound/snd_wavefront.h                      |    1 +
 include/sound/soc-acpi-intel-match.h               |   32 +
 include/sound/soc-acpi.h                           |  111 +
 include/sound/soc.h                                |  115 +
 sound/Kconfig                                      |   35 +-
 sound/Makefile                                     |    4 +-
 sound/ac97/Kconfig                                 |   19 +
 sound/ac97/Makefile                                |    8 +
 sound/ac97/ac97_core.h                             |   16 +
 sound/ac97/bus.c                                   |  539 ++++
 sound/ac97/codec.c                                 |   15 +
 sound/ac97/snd_ac97_compat.c                       |  108 +
 sound/arm/pxa2xx-ac97-lib.c                        |   37 +-
 sound/arm/pxa2xx-ac97.c                            |   35 +-
 sound/core/hrtimer.c                               |    2 +-
 sound/core/hwdep.c                                 |    2 +
 sound/core/init.c                                  |   32 +
 sound/core/jack.c                                  |    2 +-
 sound/core/pcm.c                                   |   20 +-
 sound/core/pcm_native.c                            |    2 -
 sound/core/seq/seq_clientmgr.c                     |    4 +
 sound/core/timer.c                                 |   11 +-
 sound/drivers/aloop.c                              |    7 +-
 sound/drivers/dummy.c                              |    7 +-
 sound/drivers/mpu401/mpu401_uart.c                 |    7 +-
 sound/drivers/mtpav.c                              |    7 +-
 sound/drivers/opl3/opl3_midi.c                     |    4 +-
 sound/drivers/opl3/opl3_seq.c                      |    2 +-
 sound/drivers/opl3/opl3_voice.h                    |    2 +-
 sound/drivers/serial-u16550.c                      |    7 +-
 sound/hda/hdac_controller.c                        |    3 +-
 sound/hda/hdac_device.c                            |   43 +-
 sound/hda/hdac_sysfs.c                             |   47 +
 sound/hda/local.h                                  |    2 +
 sound/i2c/other/ak4117.c                           |    8 +-
 sound/isa/sb/emu8000_pcm.c                         |    6 +-
 sound/isa/sb/sb8_midi.c                            |   11 +-
 sound/isa/wavefront/wavefront_midi.c               |   10 +-
 sound/oss/CHANGELOG                                |  369 ---
 sound/oss/Kconfig                                  |  533 ----
 sound/oss/Makefile                                 |  108 -
 sound/oss/README.FIRST                             |    6 -
 sound/oss/ad1848.c                                 | 3062 --------------------
 sound/oss/ad1848.h                                 |   25 -
 sound/oss/ad1848_mixer.h                           |  253 --
 sound/oss/aedsp16.c                                | 1373 ---------
 sound/oss/audio.c                                  |  985 -------
 sound/oss/bin2hex.c                                |   40 -
 sound/oss/coproc.h                                 |   12 -
 sound/oss/dev_table.c                              |  256 --
 sound/oss/dev_table.h                              |  390 ---
 sound/oss/dmabuf.c                                 | 1268 --------
 sound/oss/hex2hex.c                                |  102 -
 sound/oss/kahlua.c                                 |  229 --
 sound/oss/midi_ctrl.h                              |   23 -
 sound/oss/midi_synth.c                             |  712 -----
 sound/oss/midi_synth.h                             |   48 -
 sound/oss/midibuf.c                                |  427 ---
 sound/oss/mpu401.c                                 | 1804 ------------
 sound/oss/mpu401.h                                 |   12 -
 sound/oss/msnd.c                                   |  413 ---
 sound/oss/msnd.h                                   |  278 --
 sound/oss/msnd_classic.c                           |    3 -
 sound/oss/msnd_classic.h                           |  185 --
 sound/oss/msnd_pinnacle.c                          | 1941 -------------
 sound/oss/msnd_pinnacle.h                          |  246 --
 sound/oss/opl3.c                                   | 1255 --------
 sound/oss/opl3_hw.h                                |  246 --
 sound/oss/os.h                                     |   46 -
 sound/oss/pas2.h                                   |   21 -
 sound/oss/pas2_card.c                              |  458 ---
 sound/oss/pas2_midi.c                              |  262 --
 sound/oss/pas2_mixer.c                             |  327 ---
 sound/oss/pas2_pcm.c                               |  419 ---
 sound/oss/pss.c                                    | 1270 --------
 sound/oss/sb.h                                     |  186 --
 sound/oss/sb_audio.c                               | 1097 -------
 sound/oss/sb_card.c                                |  354 ---
 sound/oss/sb_card.h                                |  149 -
 sound/oss/sb_common.c                              | 1287 --------
 sound/oss/sb_ess.c                                 | 1823 ------------
 sound/oss/sb_ess.h                                 |   35 -
 sound/oss/sb_midi.c                                |  206 --
 sound/oss/sb_mixer.c                               |  770 -----
 sound/oss/sb_mixer.h                               |  105 -
 sound/oss/sequencer.c                              | 1661 -----------
 sound/oss/sleep.h                                  |   19 -
 sound/oss/sound_calls.h                            |   88 -
 sound/oss/sound_config.h                           |  144 -
 sound/oss/sound_firmware.h                         |   30 -
 sound/oss/sound_timer.c                            |  327 ---
 sound/oss/soundcard.c                              |  733 -----
 sound/oss/soundvers.h                              |    2 -
 sound/oss/swarm_cs4297a.c                          | 2781 ------------------
 sound/oss/sys_timer.c                              |  280 --
 sound/oss/trix.c                                   |  525 ----
 sound/oss/tuning.h                                 |   24 -
 sound/oss/uart401.c                                |  477 ---
 sound/oss/uart6850.c                               |  361 ---
 sound/oss/ulaw.h                                   |   70 -
 sound/oss/v_midi.c                                 |  290 --
 sound/oss/v_midi.h                                 |   15 -
 sound/oss/vidc.c                                   |  557 ----
 sound/oss/vidc.h                                   |   63 -
 sound/oss/vidc_fill.S                              |  218 --
 sound/oss/waveartist.c                             | 2043 -------------
 sound/oss/waveartist.h                             |   93 -
 sound/pci/asihpi/asihpi.c                          |   15 +-
 sound/pci/au88x0/au88x0_core.c                     |    2 +-
 sound/pci/ctxfi/cttimer.c                          |    7 +-
 sound/pci/echoaudio/midi.c                         |   10 +-
 sound/pci/emu10k1/emuproc.c                        |    1 -
 sound/pci/ens1370.c                                |    3 +-
 sound/pci/hda/hda_codec.c                          |    2 +-
 sound/pci/hda/hda_generic.c                        |    2 +
 sound/pci/hda/patch_ca0132.c                       |    8 +-
 sound/pci/hda/patch_realtek.c                      |   24 +
 sound/pci/ice1712/ice1712.c                        |    2 +-
 sound/pci/ice1712/ice1712.h                        |    3 +-
 sound/pci/korg1212/korg1212.c                      |    7 +-
 sound/pci/oxygen/xonar_dg.h                        |    2 +-
 sound/pci/oxygen/xonar_dg_mixer.c                  |    2 +-
 sound/pci/rme9652/hdsp.c                           |    8 +-
 sound/pci/rme9652/hdspm.c                          |    8 +-
 sound/sh/aica.c                                    |   20 +-
 sound/soc/Kconfig                                  |    3 +
 sound/soc/Makefile                                 |    6 +
 sound/soc/amd/Kconfig                              |    7 +
 sound/soc/amd/Makefile                             |    6 +-
 sound/soc/amd/acp-pcm-dma.c                        |  356 ++-
 sound/soc/amd/acp-rt5645.c                         |  199 ++
 sound/soc/amd/acp.h                                |   19 +
 sound/soc/bcm/bcm2835-i2s.c                        |  391 ++-
 sound/soc/bcm/cygnus-ssp.c                         |   34 +-
 sound/soc/codecs/Kconfig                           |   13 +-
 sound/soc/codecs/Makefile                          |    1 +
 sound/soc/codecs/arizona.c                         |  166 +-
 sound/soc/codecs/arizona.h                         |    6 +-
 sound/soc/codecs/cs43130.c                         |   16 +-
 sound/soc/codecs/cs47l24.c                         |   14 +-
 sound/soc/codecs/da7213.c                          |   58 +-
 sound/soc/codecs/da7213.h                          |    1 +
 sound/soc/codecs/hdac_hdmi.c                       |   51 +-
 sound/soc/codecs/hdmi-codec.c                      |    5 +-
 sound/soc/codecs/max98090.c                        |    2 +-
 sound/soc/codecs/max98925.c                        |   23 +-
 sound/soc/codecs/max98927.c                        |  155 +-
 sound/soc/codecs/max98927.h                        |    7 +-
 sound/soc/codecs/msm8916-wcd-analog.c              |  120 +-
 sound/soc/codecs/msm8916-wcd-digital.c             |    4 +-
 sound/soc/codecs/pcm512x-i2c.c                     |    4 +-
 sound/soc/codecs/pcm512x-spi.c                     |    2 +-
 sound/soc/codecs/pcm512x.c                         |    4 +-
 sound/soc/codecs/pcm512x.h                         |    2 +-
 sound/soc/codecs/rl6231.c                          |    5 +-
 sound/soc/codecs/rt5514-spi.c                      |   46 +
 sound/soc/codecs/rt5514.c                          |    6 +-
 sound/soc/codecs/rt5645.c                          |   39 +-
 sound/soc/codecs/rt5651.c                          |  219 +-
 sound/soc/codecs/rt5651.h                          |    4 +
 sound/soc/codecs/rt5659.c                          |   26 +-
 sound/soc/codecs/rt5663.c                          |  272 +-
 sound/soc/codecs/rt5670.c                          |  143 +-
 sound/soc/codecs/rt5670.h                          |    4 +
 sound/soc/codecs/tas571x.c                         |    3 +-
 sound/soc/codecs/tfa9879.c                         |    6 +
 sound/soc/codecs/tlv320aic23.c                     |    1 +
 sound/soc/codecs/tlv320aic31xx.c                   |    2 +-
 sound/soc/codecs/tpa6130a2.c                       |    1 +
 sound/soc/codecs/ts3a227e.c                        |   10 +
 sound/soc/codecs/wm5102.c                          |   14 +-
 sound/soc/codecs/wm5110.c                          |   14 +-
 sound/soc/codecs/wm8741.c                          |   39 +-
 sound/soc/codecs/wm8753.c                          |    4 +-
 sound/soc/codecs/wm8993.c                          |    2 +
 sound/soc/codecs/wm8994.c                          |    2 +
 sound/soc/codecs/wm8997.c                          |   15 +-
 sound/soc/codecs/wm8998.c                          |   95 +-
 sound/soc/codecs/wm9705.c                          |   68 +-
 sound/soc/codecs/wm9712.c                          |   48 +-
 sound/soc/codecs/wm9713.c                          |   39 +-
 sound/soc/davinci/davinci-mcasp.c                  |   21 +-
 sound/soc/dwc/Kconfig                              |    4 +-
 sound/soc/fsl/fsl-asoc-card.c                      |   14 +-
 sound/soc/fsl/fsl_spdif.c                          |    4 +-
 sound/soc/fsl/fsl_ssi.c                            |   46 +-
 sound/soc/generic/audio-graph-card.c               |   47 +-
 sound/soc/img/img-i2s-in.c                         |  130 +-
 sound/soc/img/img-i2s-out.c                        |  120 +-
 sound/soc/img/img-parallel-out.c                   |    6 +
 sound/soc/img/img-spdif-in.c                       |  110 +-
 sound/soc/img/img-spdif-out.c                      |   87 +-
 sound/soc/intel/Kconfig                            |  302 +-
 sound/soc/intel/Makefile                           |    2 +-
 sound/soc/intel/atom/sst-mfld-platform-compress.c  |    2 +-
 sound/soc/intel/atom/sst-mfld-platform.h           |    2 +-
 sound/soc/intel/atom/sst/sst_acpi.c                |  312 +-
 sound/soc/intel/atom/sst/sst_loader.c              |    1 -
 sound/soc/intel/atom/sst/sst_stream.c              |    1 -
 sound/soc/intel/boards/Kconfig                     |  265 ++
 sound/soc/intel/boards/bxt_da7219_max98357a.c      |   16 +-
 sound/soc/intel/boards/bytcht_da7213.c             |   23 +-
 sound/soc/intel/boards/bytcht_es8316.c             |   27 +-
 sound/soc/intel/boards/bytcht_nocodec.c            |   10 +-
 sound/soc/intel/boards/bytcr_rt5640.c              |  118 +-
 sound/soc/intel/boards/bytcr_rt5651.c              |  297 +-
 sound/soc/intel/boards/cht_bsw_max98090_ti.c       |  185 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c            |  128 +-
 sound/soc/intel/boards/cht_bsw_rt5672.c            |   68 +-
 sound/soc/intel/boards/kbl_rt5663_max98927.c       |   76 +-
 .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c  |    3 +
 sound/soc/intel/boards/skl_nau88l25_max98357a.c    |   16 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c      |   16 +-
 sound/soc/intel/common/Makefile                    |    4 +-
 sound/soc/intel/common/soc-acpi-intel-byt-match.c  |  196 ++
 sound/soc/intel/common/soc-acpi-intel-cht-match.c  |  194 ++
 .../intel/common/soc-acpi-intel-hsw-bdw-match.c    |   64 +
 sound/soc/intel/common/sst-acpi.c                  |   36 +-
 sound/soc/intel/common/sst-acpi.h                  |   82 -
 sound/soc/intel/common/sst-firmware.c              |    3 +-
 sound/soc/intel/skylake/skl-messages.c             |   32 +-
 sound/soc/intel/skylake/skl-nhlt.c                 |    9 +
 sound/soc/intel/skylake/skl-pcm.c                  |   49 +-
 sound/soc/intel/skylake/skl-sst-utils.c            |   15 +-
 sound/soc/intel/skylake/skl-topology.c             |   70 +-
 sound/soc/intel/skylake/skl-topology.h             |   10 +-
 sound/soc/intel/skylake/skl.c                      |   50 +-
 sound/soc/intel/skylake/skl.h                      |    4 +-
 sound/soc/kirkwood/kirkwood-dma.c                  |    2 +-
 sound/soc/kirkwood/kirkwood.h                      |    2 +-
 sound/soc/omap/ams-delta.c                         |    4 +-
 sound/soc/omap/omap-hdmi-audio.c                   |    3 +
 sound/soc/pxa/pxa2xx-ac97.c                        |   32 +-
 sound/soc/qcom/lpass-platform.c                    |    2 -
 sound/soc/rockchip/rk3399_gru_sound.c              |  159 +-
 sound/soc/rockchip/rockchip_i2s.c                  |    1 -
 sound/soc/samsung/i2s.c                            |   10 +-
 sound/soc/samsung/i2s.h                            |    3 +
 sound/soc/samsung/tm2_wm5110.c                     |    7 +-
 sound/soc/sh/fsi.c                                 |   11 +-
 sound/soc/sh/rcar/adg.c                            |   72 +-
 sound/soc/sh/rcar/core.c                           |   51 +-
 sound/soc/sh/rcar/ctu.c                            |   88 +-
 sound/soc/sh/rcar/dma.c                            |   84 +-
 sound/soc/sh/rcar/dvc.c                            |   60 +-
 sound/soc/sh/rcar/mix.c                            |  158 +-
 sound/soc/sh/rcar/rsnd.h                           |   22 +-
 sound/soc/sh/rcar/ssi.c                            |   58 +-
 .../{intel/common/sst-match-acpi.c => soc-acpi.c}  |   56 +-
 sound/soc/soc-compress.c                           |  461 ++-
 sound/soc/soc-core.c                               |  222 +-
 sound/soc/soc-dapm.c                               |  158 +-
 sound/soc/soc-io.c                                 |   14 +
 sound/soc/soc-pcm.c                                |  462 ++-
 sound/soc/stm/stm32_sai.c                          |  162 +-
 sound/soc/stm/stm32_sai.h                          |   22 +-
 sound/soc/stm/stm32_sai_sub.c                      |  162 +-
 sound/soc/stm/stm32_spdifrx.c                      |   23 +-
 sound/soc/sunxi/sun4i-codec.c                      |   29 +-
 sound/soc/sunxi/sun8i-codec.c                      |   72 +-
 sound/soc/zte/zx-spdif.c                           |    4 +-
 sound/synth/emux/emux.c                            |    2 +-
 sound/synth/emux/emux_oss.c                        |    2 -
 sound/synth/emux/emux_synth.c                      |    4 +-
 sound/synth/emux/emux_voice.h                      |    2 +-
 sound/usb/6fire/chip.c                             |    2 -
 sound/usb/bcd2000/bcd2000.c                        |    7 +
 sound/usb/caiaq/device.c                           |    7 +
 sound/usb/caiaq/input.c                            |    9 +
 sound/usb/hiface/pcm.c                             |    9 +-
 sound/usb/line6/capture.c                          |    2 +-
 sound/usb/line6/capture.h                          |    2 +-
 sound/usb/line6/driver.c                           |   34 +-
 sound/usb/line6/driver.h                           |    3 +-
 sound/usb/line6/midi.c                             |   17 +-
 sound/usb/line6/playback.c                         |    2 +-
 sound/usb/line6/playback.h                         |    2 +-
 sound/usb/line6/pod.c                              |   11 +-
 sound/usb/line6/podhd.c                            |   26 +-
 sound/usb/line6/toneport.c                         |    7 +-
 sound/usb/line6/variax.c                           |   32 +-
 sound/usb/midi.c                                   |   45 +-
 sound/usb/quirks.c                                 |   24 +-
 sound/usb/usx2y/usb_stream.c                       |   23 +-
 sound/usb/usx2y/usbusx2y.c                         |    5 +
 sound/usb/usx2y/usbusx2yaudio.c                    |    3 +
 345 files changed, 9146 insertions(+), 44387 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/tfa9879.txt
 create mode 100644 Documentation/devicetree/bindings/sound/wlf,arizona.txt
 delete mode 100644 Documentation/sound/oss/ALS
 delete mode 100644 Documentation/sound/oss/AudioExcelDSP16
 delete mode 100644 Documentation/sound/oss/CMI8330
 delete mode 100644 Documentation/sound/oss/ESS
 delete mode 100644 Documentation/sound/oss/ESS1868
 delete mode 100644 Documentation/sound/oss/Introduction
 delete mode 100644 Documentation/sound/oss/MultiSound
 delete mode 100644 Documentation/sound/oss/OPL3
 delete mode 100644 Documentation/sound/oss/Opti
 delete mode 100644 Documentation/sound/oss/PAS16
 delete mode 100644 Documentation/sound/oss/PSS
 delete mode 100644 Documentation/sound/oss/PSS-updates
 delete mode 100644 Documentation/sound/oss/README.OSS
 delete mode 100644 Documentation/sound/oss/README.modules
 delete mode 100644 Documentation/sound/oss/README.ymfsb
 delete mode 100644 Documentation/sound/oss/SoundPro
 delete mode 100644 Documentation/sound/oss/Soundblaster
 delete mode 100644 Documentation/sound/oss/Tropez+
 delete mode 100644 Documentation/sound/oss/VIBRA16
 delete mode 100644 Documentation/sound/oss/WaveArtist
 delete mode 100644 Documentation/sound/oss/btaudio
 delete mode 100644 Documentation/sound/oss/mwave
 delete mode 100644 Documentation/sound/oss/oss-parameters.txt
 delete mode 100644 Documentation/sound/oss/ultrasound
 create mode 100644 drivers/mfd/wm97xx-core.c
 create mode 100644 include/drm/amd_asic_type.h
 create mode 100644 include/linux/mfd/wm97xx.h
 create mode 100644 include/sound/ac97/codec.h
 create mode 100644 include/sound/ac97/compat.h
 create mode 100644 include/sound/ac97/controller.h
 create mode 100644 include/sound/ac97/regs.h
 create mode 100644 include/sound/soc-acpi-intel-match.h
 create mode 100644 include/sound/soc-acpi.h
 create mode 100644 sound/ac97/Kconfig
 create mode 100644 sound/ac97/Makefile
 create mode 100644 sound/ac97/ac97_core.h
 create mode 100644 sound/ac97/bus.c
 create mode 100644 sound/ac97/codec.c
 create mode 100644 sound/ac97/snd_ac97_compat.c
 delete mode 100644 sound/oss/CHANGELOG
 delete mode 100644 sound/oss/Kconfig
 delete mode 100644 sound/oss/Makefile
 delete mode 100644 sound/oss/README.FIRST
 delete mode 100644 sound/oss/ad1848.c
 delete mode 100644 sound/oss/ad1848.h
 delete mode 100644 sound/oss/ad1848_mixer.h
 delete mode 100644 sound/oss/aedsp16.c
 delete mode 100644 sound/oss/audio.c
 delete mode 100644 sound/oss/bin2hex.c
 delete mode 100644 sound/oss/coproc.h
 delete mode 100644 sound/oss/dev_table.c
 delete mode 100644 sound/oss/dev_table.h
 delete mode 100644 sound/oss/dmabuf.c
 delete mode 100644 sound/oss/hex2hex.c
 delete mode 100644 sound/oss/kahlua.c
 delete mode 100644 sound/oss/midi_ctrl.h
 delete mode 100644 sound/oss/midi_synth.c
 delete mode 100644 sound/oss/midi_synth.h
 delete mode 100644 sound/oss/midibuf.c
 delete mode 100644 sound/oss/mpu401.c
 delete mode 100644 sound/oss/mpu401.h
 delete mode 100644 sound/oss/msnd.c
 delete mode 100644 sound/oss/msnd.h
 delete mode 100644 sound/oss/msnd_classic.c
 delete mode 100644 sound/oss/msnd_classic.h
 delete mode 100644 sound/oss/msnd_pinnacle.c
 delete mode 100644 sound/oss/msnd_pinnacle.h
 delete mode 100644 sound/oss/opl3.c
 delete mode 100644 sound/oss/opl3_hw.h
 delete mode 100644 sound/oss/os.h
 delete mode 100644 sound/oss/pas2.h
 delete mode 100644 sound/oss/pas2_card.c
 delete mode 100644 sound/oss/pas2_midi.c
 delete mode 100644 sound/oss/pas2_mixer.c
 delete mode 100644 sound/oss/pas2_pcm.c
 delete mode 100644 sound/oss/pss.c
 delete mode 100644 sound/oss/sb.h
 delete mode 100644 sound/oss/sb_audio.c
 delete mode 100644 sound/oss/sb_card.c
 delete mode 100644 sound/oss/sb_card.h
 delete mode 100644 sound/oss/sb_common.c
 delete mode 100644 sound/oss/sb_ess.c
 delete mode 100644 sound/oss/sb_ess.h
 delete mode 100644 sound/oss/sb_midi.c
 delete mode 100644 sound/oss/sb_mixer.c
 delete mode 100644 sound/oss/sb_mixer.h
 delete mode 100644 sound/oss/sequencer.c
 delete mode 100644 sound/oss/sleep.h
 delete mode 100644 sound/oss/sound_calls.h
 delete mode 100644 sound/oss/sound_config.h
 delete mode 100644 sound/oss/sound_firmware.h
 delete mode 100644 sound/oss/sound_timer.c
 delete mode 100644 sound/oss/soundcard.c
 delete mode 100644 sound/oss/soundvers.h
 delete mode 100644 sound/oss/swarm_cs4297a.c
 delete mode 100644 sound/oss/sys_timer.c
 delete mode 100644 sound/oss/trix.c
 delete mode 100644 sound/oss/tuning.h
 delete mode 100644 sound/oss/uart401.c
 delete mode 100644 sound/oss/uart6850.c
 delete mode 100644 sound/oss/ulaw.h
 delete mode 100644 sound/oss/v_midi.c
 delete mode 100644 sound/oss/v_midi.h
 delete mode 100644 sound/oss/vidc.c
 delete mode 100644 sound/oss/vidc.h
 delete mode 100644 sound/oss/vidc_fill.S
 delete mode 100644 sound/oss/waveartist.c
 delete mode 100644 sound/oss/waveartist.h
 create mode 100644 sound/soc/amd/acp-rt5645.c
 create mode 100644 sound/soc/intel/boards/Kconfig
 create mode 100644 sound/soc/intel/common/soc-acpi-intel-byt-match.c
 create mode 100644 sound/soc/intel/common/soc-acpi-intel-cht-match.c
 create mode 100644 sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.c
 delete mode 100644 sound/soc/intel/common/sst-acpi.h
 rename sound/soc/{intel/common/sst-match-acpi.c => soc-acpi.c} (63%)

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-14 14:51 [GIT PULL] sound updates for 4.15-rc1 Takashi Iwai
@ 2017-11-15  2:40 ` Linus Torvalds
  2017-11-15  7:34   ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Linus Torvalds @ 2017-11-15  2:40 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List

On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
>
> please pull sound updates for v4.15-rc1 from:

Hmm. Making "oldconfig" on my laptop with this, my
SND_SOC_INTEL_SKYLAKE went away.

And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.

Which has no help associated with it.

This is not a friendly thing to do to people. It basically breaks
existing setups for no documented reason, and with no explanation.

Please fix the config situation. At the very least, add documentation.

                 Linus

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15  2:40 ` Linus Torvalds
@ 2017-11-15  7:34   ` Takashi Iwai
  2017-11-15 11:37     ` Mark Brown
  2017-11-16 14:55     ` Pierre-Louis Bossart
  0 siblings, 2 replies; 16+ messages in thread
From: Takashi Iwai @ 2017-11-15  7:34 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Vinod Koul, Pierre-Louis Bossart, Mark Brown, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

[Adding more people and alsa-devel to Cc]

On Wed, 15 Nov 2017 03:40:09 +0100,
Linus Torvalds wrote:
> 
> On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >
> > please pull sound updates for v4.15-rc1 from:
> 
> Hmm. Making "oldconfig" on my laptop with this, my
> SND_SOC_INTEL_SKYLAKE went away.
> 
> And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.
> 
> Which has no help associated with it.
> 
> This is not a friendly thing to do to people. It basically breaks
> existing setups for no documented reason, and with no explanation.
> 
> Please fix the config situation. At the very least, add documentation.

Sorry about that.  I saw Vinod already submitted a patch to add the
help text to CONFIG_SND_SOC_INTEL_SST_TOPLEVEL, so the least fix
should go in soon.

But now looking at these changes, I noticed a few things, too:

- With the introduction of SND_SOC_INTEL_SST_TOPLEVEL, keeping
  SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH individually doesn't
  make much sense.  They can be dropped and replaced with
  SND_SOC_INTEL_SST_TOPLEVEL as a further cleanup.

- ... or, make SND_SOC_INTEL_SST_TOPLEVEL=y as default, if this is
  considered to be a top-level filter config (like the network vendor
  kconfig items).  In that case, the reverse-selection of
  SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH should be avoided, but
  they should be selected from the actual drivers instead.


And I believe there are a few more possible cleanups / fixes in the
messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
which also requires SND_SOC_INTEL_SST.

Further looking at this, we see that the only entry that does *not*
require SND_SOC_INTEL_SST is the case with SND_MFLD_MACHINE in
sound/soc/intel/boards.  And now more interesting part -- there is no
corresponding entry in Makefile.  That is, this kconfig is effectively
dead!  The source code mfld_machine.c exists, but it's just a place
holder now.  The code was supposed to be integrated into atom
directory by the commit b97169da0699, but it seems forgotten to be
updated.

Hmm...


Takashi

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15  7:34   ` Takashi Iwai
@ 2017-11-15 11:37     ` Mark Brown
  2017-11-15 11:58       ` Takashi Iwai
  2017-11-16 14:55     ` Pierre-Louis Bossart
  1 sibling, 1 reply; 16+ messages in thread
From: Mark Brown @ 2017-11-15 11:37 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

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

On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:

> And I believe there are a few more possible cleanups / fixes in the
> messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
> always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
> But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
> which also requires SND_SOC_INTEL_SST.

I'm not 100% convinced that the recent changes away from just having the
only user selectable options be the board ones have really helped that
much.  Though transitioning back would probably just create more misery.
It's a real shame that ACPI doesn't have standards for the machine
descriptions here like DT does, it'd cut down on the amount of stuff
that needs configuring.

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

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 11:37     ` Mark Brown
@ 2017-11-15 11:58       ` Takashi Iwai
  2017-11-15 12:16         ` Mark Brown
       [not found]         ` <20171115152411.GI3187@localhost>
  0 siblings, 2 replies; 16+ messages in thread
From: Takashi Iwai @ 2017-11-15 11:58 UTC (permalink / raw)
  To: Mark Brown
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

On Wed, 15 Nov 2017 12:37:42 +0100,
Mark Brown wrote:
> 
> On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:
> 
> > And I believe there are a few more possible cleanups / fixes in the
> > messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
> > always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
> > But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
> > which also requires SND_SOC_INTEL_SST.
> 
> I'm not 100% convinced that the recent changes away from just having the
> only user selectable options be the board ones have really helped that
> much.

Yeah, now it resulted in a mixture of selects and depends, which is a
bad sign.  I'm not against this kind of reorganization but we need to
sort out more.

> Though transitioning back would probably just create more misery.
> It's a real shame that ACPI doesn't have standards for the machine
> descriptions here like DT does, it'd cut down on the amount of stuff
> that needs configuring.

True.  Although I don't think ACPI is the center of the mess in this
case, but rather too many kconfigs is it.

In soc/intel/*, we have the following entries:

as non-selectable ones:
- SND_SST_IPC
- SND_SST_IPC_PCI
- SND_SST_IPC_ACPI
- SND_SOC_INTEL_COMMON
- SND_SOC_INTEL_SST
- SND_SOC_INTEL_SST_FIRMWARE
- SND_SOC_INTEL_SST_ACPI
- SND_SOC_ACPI_INTEL_MATCH

and the selectable ones:
- SND_SOC_INTEL_SST_TOPLEVEL
- SND_SOC_INTEL_HASWELL
- SND_SOC_INTEL_BAYTRAIL
- SND_SST_ATOM_HIFI2_PLATFORM
- SND_SOC_INTEL_SKYLAKE

And yet, there are tons of machine drivers as selectable kconfigs:
- SND_SOC_INTEL_MACH
- SND_MFLD_MACHINE
- SND_SOC_INTEL_HASWELL_MACH
- SND_SOC_INTEL_BDW_RT5677_MACH
- SND_SOC_INTEL_BROADWELL_MACH
- SND_SOC_INTEL_BYT_MAX98090_MACH
- SND_SOC_INTEL_BYT_RT5640_MACH
- SND_SOC_INTEL_BYTCR_RT5640_MACH
- SND_SOC_INTEL_BYTCR_RT5651_MACH
- SND_SOC_INTEL_CHT_BSW_RT5672_MACH
- SND_SOC_INTEL_CHT_BSW_RT5645_MACH
- SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
- SND_SOC_INTEL_BYT_CHT_DA7213_MACH
- SND_SOC_INTEL_BYT_CHT_ES8316_MACH
- SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
- SND_SOC_INTEL_SKL_RT286_MACH
- SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
- SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
- SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
- SND_SOC_INTEL_BXT_RT298_MACH
- SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
- SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH


We should begin with thinking of which entries (and layer) to be
selectable, and which not.


Takashi

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 11:58       ` Takashi Iwai
@ 2017-11-15 12:16         ` Mark Brown
  2017-11-15 13:16           ` Takashi Iwai
       [not found]         ` <20171115152411.GI3187@localhost>
  1 sibling, 1 reply; 16+ messages in thread
From: Mark Brown @ 2017-11-15 12:16 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

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

On Wed, Nov 15, 2017 at 12:58:40PM +0100, Takashi Iwai wrote:
> Mark Brown wrote:
> > On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:

> > Though transitioning back would probably just create more misery.
> > It's a real shame that ACPI doesn't have standards for the machine
> > descriptions here like DT does, it'd cut down on the amount of stuff
> > that needs configuring.

> True.  Although I don't think ACPI is the center of the mess in this
> case, but rather too many kconfigs is it.

It's the source of all the individual board Kconfigs - we can't just
have an equivalent of the of-graph card - and then the explosion of
board configs then pushes to have more of the other options user
selectable to let people make the list more manageable.  

> We should begin with thinking of which entries (and layer) to be
> selectable, and which not.

I'd say either just all the individual machines like it was or all the
SoCs.  If it's the SoCs it prevents people making really tiny configs,
though I'm not sure who cares.  If it's the machines then you get a lot
of options but I don't know that this is a problem, it's not like end
users are routinely configuring their kernel.

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

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 12:16         ` Mark Brown
@ 2017-11-15 13:16           ` Takashi Iwai
  2017-11-15 13:33             ` Mark Brown
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-11-15 13:16 UTC (permalink / raw)
  To: Mark Brown
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

On Wed, 15 Nov 2017 13:16:48 +0100,
Mark Brown wrote:
> 
> On Wed, Nov 15, 2017 at 12:58:40PM +0100, Takashi Iwai wrote:
> > Mark Brown wrote:
> > > On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:
> 
> > > Though transitioning back would probably just create more misery.
> > > It's a real shame that ACPI doesn't have standards for the machine
> > > descriptions here like DT does, it'd cut down on the amount of stuff
> > > that needs configuring.
> 
> > True.  Although I don't think ACPI is the center of the mess in this
> > case, but rather too many kconfigs is it.
> 
> It's the source of all the individual board Kconfigs - we can't just
> have an equivalent of the of-graph card - and then the explosion of
> board configs then pushes to have more of the other options user
> selectable to let people make the list more manageable.  

OK, point taken.

> > We should begin with thinking of which entries (and layer) to be
> > selectable, and which not.
> 
> I'd say either just all the individual machines like it was or all the
> SoCs.  If it's the SoCs it prevents people making really tiny configs,
> though I'm not sure who cares.  If it's the machines then you get a lot
> of options but I don't know that this is a problem, it's not like end
> users are routinely configuring their kernel.

It might sound contradicting to my previous statement, but the number
of selections itself isn't a big problem.  The problem is rather that
multiple options have to be selected for reaching to the point to
enable one feature on your machine.  So, I agree that these two
representations would be suitable, and the usual solution is the
firmer, to expose *only* individual machine drivers as selectable.
(Or, at most, we can have kconfig entries just filtering in addition.)


Takashi

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 13:16           ` Takashi Iwai
@ 2017-11-15 13:33             ` Mark Brown
  2017-11-15 13:37               ` Takashi Iwai
  0 siblings, 1 reply; 16+ messages in thread
From: Mark Brown @ 2017-11-15 13:33 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

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

On Wed, Nov 15, 2017 at 02:16:41PM +0100, Takashi Iwai wrote:
> Mark Brown wrote:

> > I'd say either just all the individual machines like it was or all the
> > SoCs.  If it's the SoCs it prevents people making really tiny configs,
> > though I'm not sure who cares.  If it's the machines then you get a lot
> > of options but I don't know that this is a problem, it's not like end
> > users are routinely configuring their kernel.

> It might sound contradicting to my previous statement, but the number
> of selections itself isn't a big problem.  The problem is rather that
> multiple options have to be selected for reaching to the point to
> enable one feature on your machine.  So, I agree that these two

Right, just finding what you need to enable to enable a given option.

> representations would be suitable, and the usual solution is the
> firmer, to expose *only* individual machine drivers as selectable.

It's definitely the most conservative thing to do, unless someone has a
strong reason to do something else I'd probably go that way.

> (Or, at most, we can have kconfig entries just filtering in addition.)

Yes, that'd not be quite so bad but it's still adding to the set of
things you have to grind through to find the option you want.

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

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 13:33             ` Mark Brown
@ 2017-11-15 13:37               ` Takashi Iwai
  0 siblings, 0 replies; 16+ messages in thread
From: Takashi Iwai @ 2017-11-15 13:37 UTC (permalink / raw)
  To: Mark Brown
  Cc: Linus Torvalds, Vinod Koul, Pierre-Louis Bossart, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

On Wed, 15 Nov 2017 14:33:05 +0100,
Mark Brown wrote:
> 
> On Wed, Nov 15, 2017 at 02:16:41PM +0100, Takashi Iwai wrote:
> > Mark Brown wrote:
> 
> > > I'd say either just all the individual machines like it was or all the
> > > SoCs.  If it's the SoCs it prevents people making really tiny configs,
> > > though I'm not sure who cares.  If it's the machines then you get a lot
> > > of options but I don't know that this is a problem, it's not like end
> > > users are routinely configuring their kernel.
> 
> > It might sound contradicting to my previous statement, but the number
> > of selections itself isn't a big problem.  The problem is rather that
> > multiple options have to be selected for reaching to the point to
> > enable one feature on your machine.  So, I agree that these two
> 
> Right, just finding what you need to enable to enable a given option.
> 
> > representations would be suitable, and the usual solution is the
> > firmer, to expose *only* individual machine drivers as selectable.
> 
> It's definitely the most conservative thing to do, unless someone has a
> strong reason to do something else I'd probably go that way.
> 
> > (Or, at most, we can have kconfig entries just filtering in addition.)
> 
> Yes, that'd not be quite so bad but it's still adding to the set of
> things you have to grind through to find the option you want.

Right, but these filters are usually with default=y, so at the first
invocation, it can go easy.  The filter config is useful basically for
someone who feel annoyed by too many options appearing, then they can
turn this off explicitly.


Takashi

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

* Re: [GIT PULL] sound updates for 4.15-rc1
       [not found]         ` <20171115152411.GI3187@localhost>
@ 2017-11-15 15:37           ` Mark Brown
  2017-11-15 16:19           ` [alsa-devel] " Pierre-Louis Bossart
  1 sibling, 0 replies; 16+ messages in thread
From: Mark Brown @ 2017-11-15 15:37 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Takashi Iwai, Linus Torvalds, Pierre-Louis Bossart,
	Liam Girdwood, Linux Kernel Mailing List, alsa-devel

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

On Wed, Nov 15, 2017 at 08:54:11PM +0530, Vinod Koul wrote:

> This set is growing and will keep growing. One machine is already posted and
> it's cousins should follow soon. I don't see a point in having options for
> these ad distro's would be enabling all of them and having all of them
> enabled works fine for me

Distros enable the overwhelming majority of drivers anyway, they're not
really relevant in terms of driver configurability.  More relevant are
people trying to build a stripped down machine specific configuration.

> > We should begin with thinking of which entries (and layer) to be
> > selectable, and which not.

> Trickier part is non selectable ones, I am going to take a stab at them and
> see if we can merge few which can help is making lesser options and clean
> that part a bit, maybe a common SST_IPC symbol which adds IPC, MATCH etc.

Those ones are less important so long as they're selected correctly by
the things that need them, it's not like there's not lots of complexity
in this driver.

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

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

* Re: [alsa-devel] [GIT PULL] sound updates for 4.15-rc1
       [not found]         ` <20171115152411.GI3187@localhost>
  2017-11-15 15:37           ` Mark Brown
@ 2017-11-15 16:19           ` Pierre-Louis Bossart
  2017-11-15 17:11             ` Linus Torvalds
  1 sibling, 1 reply; 16+ messages in thread
From: Pierre-Louis Bossart @ 2017-11-15 16:19 UTC (permalink / raw)
  To: Vinod Koul, Takashi Iwai
  Cc: alsa-devel, Linux Kernel Mailing List, Liam Girdwood, Mark Brown,
	Linus Torvalds

On 11/15/17 9:24 AM, Vinod Koul wrote:
> On Wed, Nov 15, 2017 at 12:58:40PM +0100, Takashi Iwai wrote:
>> On Wed, 15 Nov 2017 12:37:42 +0100,
>> Mark Brown wrote:
>>>
>>> On Wed, Nov 15, 2017 at 08:34:09AM +0100, Takashi Iwai wrote:
>>>
>>>> And I believe there are a few more possible cleanups / fixes in the
>>>> messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
>>>> always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
>>>> But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
>>>> which also requires SND_SOC_INTEL_SST.
>>>
>>> I'm not 100% convinced that the recent changes away from just having the
>>> only user selectable options be the board ones have really helped that
>>> much.
>>
>> Yeah, now it resulted in a mixture of selects and depends, which is a
>> bad sign.  I'm not against this kind of reorganization but we need to
>> sort out more.
>>
>>> Though transitioning back would probably just create more misery.
>>> It's a real shame that ACPI doesn't have standards for the machine
>>> descriptions here like DT does, it'd cut down on the amount of stuff
>>> that needs configuring.
>>
>> True.  Although I don't think ACPI is the center of the mess in this
>> case, but rather too many kconfigs is it.
>>
>> In soc/intel/*, we have the following entries:
>>
>> as non-selectable ones:
>> - SND_SST_IPC
>> - SND_SST_IPC_PCI
>> - SND_SST_IPC_ACPI
>> - SND_SOC_INTEL_COMMON
>> - SND_SOC_INTEL_SST
>> - SND_SOC_INTEL_SST_FIRMWARE
>> - SND_SOC_INTEL_SST_ACPI
>> - SND_SOC_ACPI_INTEL_MATCH
>>
>> and the selectable ones:
>> - SND_SOC_INTEL_SST_TOPLEVEL
>> - SND_SOC_INTEL_HASWELL
>> - SND_SOC_INTEL_BAYTRAIL
>> - SND_SST_ATOM_HIFI2_PLATFORM
>> - SND_SOC_INTEL_SKYLAKE
>>
>> And yet, there are tons of machine drivers as selectable kconfigs:
>> - SND_SOC_INTEL_MACH
> 
> this will be top level menu entry no select/default here as Takashi
> suggested.
> 
>> - SND_MFLD_MACHINE
> 
> this would be a lone ranger
> 
>> - SND_SOC_INTEL_HASWELL_MACH
>> - SND_SOC_INTEL_BDW_RT5677_MACH
>> - SND_SOC_INTEL_BROADWELL_MACH
> 
> we can bucket this in SND_SOC_INTEL_HSW_MACHS
> 
>> - SND_SOC_INTEL_BYT_MAX98090_MACH
>> - SND_SOC_INTEL_BYT_RT5640_MACH
> 
> SND_SOC_INTEL_LEGACY_BYT
> 
>> - SND_SOC_INTEL_BYTCR_RT5640_MACH
>> - SND_SOC_INTEL_BYTCR_RT5651_MACH
>> - SND_SOC_INTEL_CHT_BSW_RT5672_MACH
>> - SND_SOC_INTEL_CHT_BSW_RT5645_MACH
>> - SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
>> - SND_SOC_INTEL_BYT_CHT_DA7213_MACH
>> - SND_SOC_INTEL_BYT_CHT_ES8316_MACH
>> - SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH

this last one should not be enabled by default, it's for people who have 
a development platform with a connector (e.g. MinnowBoard), not for 
commercial products.

> 
> SND_SOC_INTEL_BYT_MACHS
> 
>> - SND_SOC_INTEL_SKL_RT286_MACH
>> - SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
>> - SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
>> - SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
>> - SND_SOC_INTEL_BXT_RT298_MACH
>> - SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
>> - SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
> 
> SND_SOC_INTEL_SKL_MACHS
> 
> This set is growing and will keep growing. One machine is already posted and
> it's cousins should follow soon. I don't see a point in having options for
> these ad distro's would be enabling all of them and having all of them
> enabled works fine for me

I disagree. We should leave the ability to take out what you don't need.

The bucketization you are talking about is already implemented in 
practice, when you select the SOC options you have a set of machine 
drivers that show up in the menu options. It should be the distros' job 
to select which ones they want rather than us making decisions on their 
behalf. E.g. a Gallium distro running on Chromebooks should be able to 
select the relevant machine drivers and not the ones which will never be 
used.

> 
>> We should begin with thinking of which entries (and layer) to be
>> selectable, and which not.
> 
> Trickier part is non selectable ones, I am going to take a stab at them and
> see if we can merge few which can help is making lesser options and clean
> that part a bit, maybe a common SST_IPC symbol which adds IPC, MATCH etc.

I agree this is where things are complicated, but this is really for the 
Intel side of things and unrelated to machine driver options.

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

* Re: [alsa-devel] [GIT PULL] sound updates for 4.15-rc1
  2017-11-15 16:19           ` [alsa-devel] " Pierre-Louis Bossart
@ 2017-11-15 17:11             ` Linus Torvalds
  0 siblings, 0 replies; 16+ messages in thread
From: Linus Torvalds @ 2017-11-15 17:11 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: Vinod Koul, Takashi Iwai,
	moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEM...,
	Linux Kernel Mailing List, Liam Girdwood, Mark Brown

On Wed, Nov 15, 2017 at 8:19 AM, Pierre-Louis Bossart
<pierre-louis.bossart@linux.intel.com> wrote:
>
> The bucketization you are talking about is already implemented in practice,
> when you select the SOC options you have a set of machine drivers that show
> up in the menu options.

So what the network drivers do - because they have an absolutely
sh*tload of drivers - is to have vendor-specific helper "gatekeeping"
options that do not affect the code in *any* way, but only affect the
config option dependencies for that vendor.

And those gatekeeping options are then "default y", so that when you
add a new gatekeeper, you do not limit people by default - but you
also don't add any actual code to the kernel!

So for example, you'll see things like this:

    config NET_VENDOR_ADAPTEC
            bool "Adaptec devices"
            default y
            depends on PCI

    if NET_VENDOR_ADAPTEC

    ... all the ADAPTEC network driver configs go here,
    ... even if right now there's only one

    endif # NET_VENDOR_ADAPTEC

and note how CONFIG_NET_VENDOR_ADAPTEC does not show up in the source
AT ALL, except as a "ok, the make recurses into the adapted
subdirectory".

So NET_VENDOR_ADAPTEC is purely used to make the configuration choice
easy. Instead of seeing a million different network driver questions,
you see a hundred different network driver _vendor_ choices, and then
only if you enable a vendor will you see the individual drivers.

So by default, all vendors are enabled, so "make oldconfig" etc works
fine, but if you are a human that goes through things by hand, you can
just say 'n' to the vendor, and not have to say 'n' to the fifteen
different (or sometimes just one - the ADAPTEC example really was a
bad choice) individual drivers.

That actually works quite well. And exactly because there is no actual
code that gets enabled by these vendor choices, they can be enabled by
default, so that when you add a new vendor gatekeeper and move an old
config option to depend on that vendor, it doesn't affect "make
oldconfig" negatively.

(Networking didn't always do this, but they've been pretty consistent
about it the last many years - exactly because networking used to be a
nightmare just because there are _so_ many different random network
cards).

            Linus

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-15  7:34   ` Takashi Iwai
  2017-11-15 11:37     ` Mark Brown
@ 2017-11-16 14:55     ` Pierre-Louis Bossart
  2017-11-16 15:10       ` Takashi Iwai
  1 sibling, 1 reply; 16+ messages in thread
From: Pierre-Louis Bossart @ 2017-11-16 14:55 UTC (permalink / raw)
  To: Takashi Iwai, Linus Torvalds
  Cc: Vinod Koul, Mark Brown, Liam Girdwood, Linux Kernel Mailing List,
	alsa-devel

On 11/15/17 1:34 AM, Takashi Iwai wrote:
> [Adding more people and alsa-devel to Cc]
> 
> On Wed, 15 Nov 2017 03:40:09 +0100,
> Linus Torvalds wrote:
>>
>> On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
>>>
>>> please pull sound updates for v4.15-rc1 from:
>>
>> Hmm. Making "oldconfig" on my laptop with this, my
>> SND_SOC_INTEL_SKYLAKE went away.
>>
>> And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.
>>
>> Which has no help associated with it.
>>
>> This is not a friendly thing to do to people. It basically breaks
>> existing setups for no documented reason, and with no explanation.
>>
>> Please fix the config situation. At the very least, add documentation.
> 
> Sorry about that.  I saw Vinod already submitted a patch to add the
> help text to CONFIG_SND_SOC_INTEL_SST_TOPLEVEL, so the least fix
> should go in soon.
> 
> But now looking at these changes, I noticed a few things, too:
> 
> - With the introduction of SND_SOC_INTEL_SST_TOPLEVEL, keeping
>    SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH individually doesn't
>    make much sense.  They can be dropped and replaced with
>    SND_SOC_INTEL_SST_TOPLEVEL as a further cleanup.
> 
> - ... or, make SND_SOC_INTEL_SST_TOPLEVEL=y as default, if this is
>    considered to be a top-level filter config (like the network vendor
>    kconfig items).  In that case, the reverse-selection of
>    SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH should be avoided, but
>    they should be selected from the actual drivers instead.

This level was introduced as a shortcut to help select the platform 
drivers associated with the closed-source audio firmware.
There will be a follow-up set of patches coming soon, and we'll need to 
have the corresponding top-level selector for the drivers handling the 
open-source audio firmware. Please don't make too many assumptions on 
this SND_SOC_INTEL_SST_TOPLEVEL, it is not going to be true for everyone 
moving forward.

If you want look at the Kconfig setup, the latest code cherry-picked on 
top of v4.14 is here
https://github.com/plbossart/sound/tree/backport/intel-audio-stable-v4.14

the menuconfig options are still in device drivers/sound/ASoC but now 
you have SST and SOF menus.

> 
> 
> And I believe there are a few more possible cleanups / fixes in the
> messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
> always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
> But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
> which also requires SND_SOC_INTEL_SST.
> 
> Further looking at this, we see that the only entry that does *not*
> require SND_SOC_INTEL_SST is the case with SND_MFLD_MACHINE in
> sound/soc/intel/boards.  And now more interesting part -- there is no
> corresponding entry in Makefile.  That is, this kconfig is effectively
> dead!  The source code mfld_machine.c exists, but it's just a place
> holder now.  The code was supposed to be integrated into atom
> directory by the commit b97169da0699, but it seems forgotten to be
> updated.
> 
> Hmm...
> 
> 
> Takashi
> 

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-16 14:55     ` Pierre-Louis Bossart
@ 2017-11-16 15:10       ` Takashi Iwai
  2017-11-16 20:27         ` Pierre-Louis Bossart
  0 siblings, 1 reply; 16+ messages in thread
From: Takashi Iwai @ 2017-11-16 15:10 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: Linus Torvalds, Vinod Koul, Mark Brown, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

On Thu, 16 Nov 2017 15:55:35 +0100,
Pierre-Louis Bossart wrote:
> 
> On 11/15/17 1:34 AM, Takashi Iwai wrote:
> > [Adding more people and alsa-devel to Cc]
> >
> > On Wed, 15 Nov 2017 03:40:09 +0100,
> > Linus Torvalds wrote:
> >>
> >> On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >>>
> >>> please pull sound updates for v4.15-rc1 from:
> >>
> >> Hmm. Making "oldconfig" on my laptop with this, my
> >> SND_SOC_INTEL_SKYLAKE went away.
> >>
> >> And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.
> >>
> >> Which has no help associated with it.
> >>
> >> This is not a friendly thing to do to people. It basically breaks
> >> existing setups for no documented reason, and with no explanation.
> >>
> >> Please fix the config situation. At the very least, add documentation.
> >
> > Sorry about that.  I saw Vinod already submitted a patch to add the
> > help text to CONFIG_SND_SOC_INTEL_SST_TOPLEVEL, so the least fix
> > should go in soon.
> >
> > But now looking at these changes, I noticed a few things, too:
> >
> > - With the introduction of SND_SOC_INTEL_SST_TOPLEVEL, keeping
> >    SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH individually doesn't
> >    make much sense.  They can be dropped and replaced with
> >    SND_SOC_INTEL_SST_TOPLEVEL as a further cleanup.
> >
> > - ... or, make SND_SOC_INTEL_SST_TOPLEVEL=y as default, if this is
> >    considered to be a top-level filter config (like the network vendor
> >    kconfig items).  In that case, the reverse-selection of
> >    SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH should be avoided, but
> >    they should be selected from the actual drivers instead.
> 
> This level was introduced as a shortcut to help select the platform
> drivers associated with the closed-source audio firmware.
> There will be a follow-up set of patches coming soon, and we'll need
> to have the corresponding top-level selector for the drivers handling
> the open-source audio firmware. Please don't make too many assumptions
> on this SND_SOC_INTEL_SST_TOPLEVEL, it is not going to be true for
> everyone moving forward.

OK, but *before* moving to that direction, please fix the current mess
at first.  If CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is the entry to filter
the Intel ASoC drivers, it should be the one with default=y and
doesn't select / enable others as itself.  OTOH, if some explicit
selection by user becomes mandatory while it wasn't, it's already a
bad step.

> If you want look at the Kconfig setup, the latest code cherry-picked
> on top of v4.14 is here
> https://github.com/plbossart/sound/tree/backport/intel-audio-stable-v4.14

Thanks.  But I see only the very same content in sound/soc/intel/*...?


Takashi

> the menuconfig options are still in device drivers/sound/ASoC but now
> you have SST and SOF menus.
> 
> >
> >
> > And I believe there are a few more possible cleanups / fixes in the
> > messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
> > always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
> > But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
> > which also requires SND_SOC_INTEL_SST.
> >
> > Further looking at this, we see that the only entry that does *not*
> > require SND_SOC_INTEL_SST is the case with SND_MFLD_MACHINE in
> > sound/soc/intel/boards.  And now more interesting part -- there is no
> > corresponding entry in Makefile.  That is, this kconfig is effectively
> > dead!  The source code mfld_machine.c exists, but it's just a place
> > holder now.  The code was supposed to be integrated into atom
> > directory by the commit b97169da0699, but it seems forgotten to be
> > updated.
> >
> > Hmm...
> >
> >
> > Takashi
> >
> 

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-16 15:10       ` Takashi Iwai
@ 2017-11-16 20:27         ` Pierre-Louis Bossart
  2017-11-17 14:24           ` Mark Brown
  0 siblings, 1 reply; 16+ messages in thread
From: Pierre-Louis Bossart @ 2017-11-16 20:27 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Linus Torvalds, Vinod Koul, Mark Brown, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel



On 11/16/2017 09:10 AM, Takashi Iwai wrote:
> On Thu, 16 Nov 2017 15:55:35 +0100,
> Pierre-Louis Bossart wrote:
>> On 11/15/17 1:34 AM, Takashi Iwai wrote:
>>> [Adding more people and alsa-devel to Cc]
>>>
>>> On Wed, 15 Nov 2017 03:40:09 +0100,
>>> Linus Torvalds wrote:
>>>> On Tue, Nov 14, 2017 at 6:51 AM, Takashi Iwai <tiwai@suse.de> wrote:
>>>>> please pull sound updates for v4.15-rc1 from:
>>>> Hmm. Making "oldconfig" on my laptop with this, my
>>>> SND_SOC_INTEL_SKYLAKE went away.
>>>>
>>>> And the reason seems to be that new SND_SOC_INTEL_SST_TOPLEVEL config option.
>>>>
>>>> Which has no help associated with it.
>>>>
>>>> This is not a friendly thing to do to people. It basically breaks
>>>> existing setups for no documented reason, and with no explanation.
>>>>
>>>> Please fix the config situation. At the very least, add documentation.
>>> Sorry about that.  I saw Vinod already submitted a patch to add the
>>> help text to CONFIG_SND_SOC_INTEL_SST_TOPLEVEL, so the least fix
>>> should go in soon.
>>>
>>> But now looking at these changes, I noticed a few things, too:
>>>
>>> - With the introduction of SND_SOC_INTEL_SST_TOPLEVEL, keeping
>>>     SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH individually doesn't
>>>     make much sense.  They can be dropped and replaced with
>>>     SND_SOC_INTEL_SST_TOPLEVEL as a further cleanup.
>>>
>>> - ... or, make SND_SOC_INTEL_SST_TOPLEVEL=y as default, if this is
>>>     considered to be a top-level filter config (like the network vendor
>>>     kconfig items).  In that case, the reverse-selection of
>>>     SND_SOC_INTEL_COMMON and SND_SOC_INTEL_MACH should be avoided, but
>>>     they should be selected from the actual drivers instead.
>> This level was introduced as a shortcut to help select the platform
>> drivers associated with the closed-source audio firmware.
>> There will be a follow-up set of patches coming soon, and we'll need
>> to have the corresponding top-level selector for the drivers handling
>> the open-source audio firmware. Please don't make too many assumptions
>> on this SND_SOC_INTEL_SST_TOPLEVEL, it is not going to be true for
>> everyone moving forward.
> OK, but *before* moving to that direction, please fix the current mess
> at first.  If CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is the entry to filter
> the Intel ASoC drivers, it should be the one with default=y and
> doesn't select / enable others as itself.  OTOH, if some explicit
> selection by user becomes mandatory while it wasn't, it's already a
> bad step.
ok, so i will accept that there was a gap in the validation and that I 
shouldn't have broken Linus' audio. My bad, working on it.
The sound/soc/intel/boards/Kconfig file can indeed be simplified, I 
tried to avoid changing too many things at the same time, but I can 
provide a patch if people want a nicer solution now if the if/endif and 
default m. I'll send a proposal later today. I guess I'll play with 
defconfig, oldconfig and olddefconfig for a quick sanity check.

That said, it looks like we are not aligned on what the patches tried to do:
SND_SOC_INTEL_COMMON contains the matching code used by both SST and SOF 
drivers and it needs to remain as a separate module
SND_SOC_INTEL_MACH is a way to make the machine drivers appear, both 
from SST and SOF drivers (we want common machine drivers)
the two are completely unrelated.

I also don't see why we are talking about a reverse selection, the flow 
is the same top-down selection in both cases

config SND_SOC_INTEL_SST_TOPLEVEL
     tristate "Intel ASoC SST drivers"
     select SND_SOC_INTEL_MACH
     select SND_SOC_INTEL_COMMON

config SND_SOC_SOF_INTEL
     tristate "SOF support for Intel audio DSPs"
     depends on SND_SOC_SOF << probably more dependencies needed with 
randconfig.
     select SND_SOC_INTEL_COMMON
     select SND_SOC_INTEL_MACH

then you select the platform drivers needed and the relevant machine 
drivers are visible.

I am also not sure if there should be hard-coded 'y' default. If you use 
make defconfig, there is currently nothing selected at all for any of 
the ASoC drivers, should we instead use 'default m' for all the sensible 
drivers (i.e. default n for deprecated stuff) and automagically select 
them when X86+ASoC is true?
>> If you want look at the Kconfig setup, the latest code cherry-picked
>> on top of v4.14 is here
>> https://github.com/plbossart/sound/tree/backport/intel-audio-stable-v4.14
> Thanks.  But I see only the very same content in sound/soc/intel/*...?
sorry, please look here:
https://github.com/plbossart/sound/tree/topic/sof-1.0-dev-rc2
>
>
> Takashi
>
>> the menuconfig options are still in device drivers/sound/ASoC but now
>> you have SST and SOF menus.
>>
>>>
>>> And I believe there are a few more possible cleanups / fixes in the
>>> messy Intel ASoC Kconfigs.  For example, SND_SOC_INTEL_SST is almost
>>> always set.  The only exception is via SND_SST_ATOM_HIFI2_PLATFORM.
>>> But all machine drivers using Atom Hifi2 do set SND_SST_IPC_ACPI,
>>> which also requires SND_SOC_INTEL_SST.
>>>
>>> Further looking at this, we see that the only entry that does *not*
>>> require SND_SOC_INTEL_SST is the case with SND_MFLD_MACHINE in
>>> sound/soc/intel/boards.  And now more interesting part -- there is no
>>> corresponding entry in Makefile.  That is, this kconfig is effectively
>>> dead!  The source code mfld_machine.c exists, but it's just a place
>>> holder now.  The code was supposed to be integrated into atom
>>> directory by the commit b97169da0699, but it seems forgotten to be
>>> updated.
>>>
>>> Hmm...
>>>
>>>
>>> Takashi
>>>

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

* Re: [GIT PULL] sound updates for 4.15-rc1
  2017-11-16 20:27         ` Pierre-Louis Bossart
@ 2017-11-17 14:24           ` Mark Brown
  0 siblings, 0 replies; 16+ messages in thread
From: Mark Brown @ 2017-11-17 14:24 UTC (permalink / raw)
  To: Pierre-Louis Bossart
  Cc: Takashi Iwai, Linus Torvalds, Vinod Koul, Liam Girdwood,
	Linux Kernel Mailing List, alsa-devel

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

On Thu, Nov 16, 2017 at 02:27:48PM -0600, Pierre-Louis Bossart wrote:

> I am also not sure if there should be hard-coded 'y' default. If you use
> make defconfig, there is currently nothing selected at all for any of the
> ASoC drivers, should we instead use 'default m' for all the sensible drivers
> (i.e. default n for deprecated stuff) and automagically select them when
> X86+ASoC is true?

The hard coded defaults were being talked about in the context of the
SoC level options that mask out the machines for a given platform -
those should default on so the user gets the full list of machines by
default and so that existing users don't get the config options for
their boards turned off.  Those options shouldn't directly enable any
code, they should just function to make the list of boards more
manageable.

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

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

end of thread, other threads:[~2017-11-17 14:24 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-14 14:51 [GIT PULL] sound updates for 4.15-rc1 Takashi Iwai
2017-11-15  2:40 ` Linus Torvalds
2017-11-15  7:34   ` Takashi Iwai
2017-11-15 11:37     ` Mark Brown
2017-11-15 11:58       ` Takashi Iwai
2017-11-15 12:16         ` Mark Brown
2017-11-15 13:16           ` Takashi Iwai
2017-11-15 13:33             ` Mark Brown
2017-11-15 13:37               ` Takashi Iwai
     [not found]         ` <20171115152411.GI3187@localhost>
2017-11-15 15:37           ` Mark Brown
2017-11-15 16:19           ` [alsa-devel] " Pierre-Louis Bossart
2017-11-15 17:11             ` Linus Torvalds
2017-11-16 14:55     ` Pierre-Louis Bossart
2017-11-16 15:10       ` Takashi Iwai
2017-11-16 20:27         ` Pierre-Louis Bossart
2017-11-17 14:24           ` 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).