* [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).