sound updates for 2.6.39-rc1
Subsystems (3)
Linus,
please pull sound updates for v2.6.39-rc1 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git for-linus
Some highlights:
- Large updates of snd-hdapm driver to support new RME boards (RayDAT/AIO) including lots of fixes.
- New LaCie FireWire speakers / Griffin FireWave Surround driver.
- New TerraTec DMX 6Fire USB driver.
- Large updates of AudioSceience snd-asihpi driver.
- USB-audio autopm support.
- AZT3328 driver updates.
- Fixes of long-standing bugs in Creative XFi SPDIF I/O.
- Lots of HD-audio quirks and fixes.
- A few clean-ups of ALSA core control code.
Highlits wrt ASoC:
- Support for registering machine drivers as first class devices rather than using the soc-audio device. Support for the soc-audio device will be removed at some point in the future.
- Support for ordering widget power changes within widget types, helping with large CODECs and multi-stage amplifiers.
- Support for waiting for multiple slow events to complete during DAPM sequences, making it easier to handle things like DC offset correction on multiple outputs.
- CPU support for Intel Medfield and nVidia Tegra2.
- CODEC support for Cirrus CS4271, Freescale SGTL5000, Maxim MAX8950, National Semiconductors LM4857, TI SN95031 and Wolfson WM8991
- Machine support for Intel Medfield MID reference platforms, nVidia Harmony, and Visstrim M10.
- Improvements to RX51 machine support.
Thanks!
Takashi
===
Adam Lackorzynski (1):
ALSA: hda: Prevent writing ICH6_PCIREG_TCSEL on AMD systems
Adrian Knoth (16):
ALSA: hdspm - Add support for RME RayDAT and AIO
ALSA: hdspm - Add RayDAT and AIO strings to Kconfig
ALSA: [hdspm] Move static mapping arrays to .c
ALSA: hpdsm - RME AES(32): Fix missing channel mappings
ALSA: hdspm - Fix buffer handling on RME MADI/MADIface/AES(32)
ALSA: hdspm - Restrict channel count on RME AES/AES32
ALSA: hdspm - Fix DS/QS output channel mappings on RME MADI/MADIface
ALSA: hdspm - Remove input selector on MADIface
ALSA: hdspm - fix sync check on AES32
ALSA: hdspm - prevent reading unitialized stack memory
ALSA: hdspm - Fix lock/sync reporting on MADI and AES32
ALSA: hdspm - AES32: Use define instead of hardcoded channel count
ALSA: hdspm - Add updated firmware revision for AES32
ALSA: hdspm - Abort on unknown firmware revision
ALSA: hdspm - Fix midi port initialization
ALSA: hdspm - Add firmware ID for older AES32 cards.
Alexander Sverdlin (10):
ASoC: CS4271 codec support
ASoC: EDB93xx machine sound driver with CS4271
ASoC: cs4271.c: improve error handling
ASoC: CS4271: Move Chip Select control out of the CODEC code.
ASoC: Extend range of supported sample rates for CS4271 CODEC.
ASoC: Remove warnings in ep93xx-i2s.c
ASoC: Manage mode and rate bits correctly for CS4271 CODEC.
ASoC: EDB93xx: Manage I2S rates according to datasheet for CS4271 CODEC.
ASoC: Improve EP93xx I2S clocks management.
ASoC: Enable 192kHz sample rate for EP93xx.
Alexey Fisher (2):
ALSA: usb-audio - Add volume range check and warn if it too big
ALSA: usb-audio - Add "cval->res = 384" quirk for Logitech Webcam C600
Andreas Mohr (3):
ALSA: ac97: replace open-coded, error-prone stuff with AC97 bit defines
ALSA: azt3328: add custom AC97 semi-emulation use standard ALSA AC97 layer
ALSA: azt3328: hook up new emulated AC97 on AC97 patch side
Axel Lin (2):
ASoC: tlv320dac33: add MODULE_DEVICE_TABLE
ASoC: Constify i2c_device_id table
Christian Glindkamp (1):
ASoC: Add MAX9850 codec driver
Clemens Ladisch (7):
ALSA: core: sparse cleanups
ALSA: control: fix numid conflict check for new controls
ALSA: control: clean up snd_ctl_hole_check()
ALSA: add LaCie FireWire Speakers/Griffin FireWave Surround driver
ALSA: firewire-lib: use no-info SYT for packets without SYT sample
ALSA: firewire-lib: allocate DMA buffer separately
ALSA: firewire-lib, firewire-speakers: handle packet queueing errors
Dan Carpenter (3):
ALSA: USB: 6fire: signedness bug in usb6fire_pcm_prepare()
ASoC: soc-cache: dereferencing before checking
ASoC: sgtl5000: use after free in ldo_regulator_register()
Dan Rosenberg (1):
ALSA: sound/pci/asihpi: check adapter index in hpi_ioctl
Daniel Mack (3):
ALSA: snd-usb-caiaq: Add support for Traktor Audio 2
ALSA: usb-audio: add support for Native Instruments MK2 devices
ALSA: usb-audio: reconstruct some dispatcher functions to use switch-case
David Henningsson (4):
ALSA: HDA: Enable surround and subwoofer on Lenovo Ideapad Y530
ALSA: HDA: Fix volume control naming for surround speakers on Realtek auto-parser
ALSA: HDA: Fixup unnecessary volume control index on Realtek ALC88x
ALSA: HDA: Realtek ALC88x: Do not over-initialize speakers and hp that are primary outputs
Dimitris Papastamos (19):
ASoC: soc-core: Add support for NULL default register caches
ASoC: WM8995: Remember to flush the cache on resume
ASoC: soc-cache: Clean up the cache manipulation code
ASoC: soc-core: Simplify compress_type overriding functionality
ASoC: soc-cache: Ensure flat compression uses a copy of the defaults cache
ASoC: soc-cache: Add reg_size as a member to snd_soc_codec
ASoC: soc-cache: Add support for default readable()/volatile() functions
ASoC: Update users of readable_register()/volatile_register()
ASoC: Automatically assign the default readable()/volatile() functions
ASoC: WM8991: Add initial WM8991 driver
ASoC: WM8995: Add regulator handling code
ASoC: soc-cache: Introduce the cache_bypass option
ASoC: soc-cache: Apply the cache_bypass option
ASoC: soc-cache: Add trace event for snd_soc_cache_sync()
ASoC: soc-core: Ensure codec_reg has fixed length fields
ASoC: soc-core: Support debugfs entries larger than PAGE_SIZE bytes
ASoC: soc-dapm: Include quotes around contents in debugfs entries
ASoC: WM8994: Ensure MICBIAS is provided with a clock
ASoC: WM8994: Ensure MICBIAS is provided with a clock
Eliot Blennerhassett (28):
ALSA: asihpi - Switch to dev_printk.
ALSA: asihpi - Poison adapter_index in message. Remove unused function.
ALSA: asihpi - Simplify debug logging.
ALSA: asihpi - HPI 4.05.14
ALSA: asihpi - Interrelated HPI tidy up.
ALSA: asihpi - Rewrite PCM timer function. Update control names.
ALSA: asihpi - Add adapter index to cache info for debug.
ALSA: asihpi - Add include guard.
ALSA: asihpi - Checkpatch line lengths etc.
ALSA: asihpi - Update error codes.
ALSA: asihpi - Remove unused subsys pointer from all HPI functions.
ALSA: asihpi - Reduce number of error codes returned to upper layers.
ALSA: asihpi - Code cleanup.
ALSA: asihpi - Remove int flag polling code preparing for stream interrupts.
ALSA: asihpi - Cosmetic + a minor comments.
ALSA: asihpi - Replace adapter list with single item in subsys response.
ALSA: asihpi - Add snd_card_set_dev to init.
ALSA: asihpi - Add volume mute control.
ALSA: asihpi - Allow adapters with duplicate index jumpers to be discovered.
ALSA: asihpi - Clarify firmware id selection.
ALSA: asihpi - Remove unused code and data.
ALSA: asihpi - Use consistent err return variable, change some bad variable names.
ALSA: asihpi - New functions prep for interrupt driven streams.
ALSA: asihpi - Minor define updates
ALSA: asihpi - Ensure all adapter data is cleared on device removal.
ALSA: asihpi - Tighten firmware version requirements.
ALSA: asihpi - Fix outstream start trigger for non-mmap adapters.
ALSA: asihpi - HPI v4.06
Eric Bénard (1):
ASoC: eukrea-tlv320: add MBIMXSD51 support
H Hartley Sweeten (1):
ASoC: neo1973_wm8753 audio support does not require scoop
Harsha Priya (5):
ASoC: sst_platform created helper functions
ASoC: sst_platform porting sst dsp driver interface as per latest in Greg's staging tree
ASoC: sn95031: add capture support
ASoC: sst_platform: add support for capture stream on headset dai
ASoC: mid-x86: Add support for capture in machine driver
Jarkko Nikula (9):
ASoC: omap: rx51: Add stereo output support to audio jack
ASoC: soc-core: Increment codec and platform driver refcounts before probing
ASoC: omap: rx51: Add earphone support
ASoC: Allow use sleeping gpio in soc-jack
ASoC: omap: rx51: Use gpio_request_one to configure tvout_sel gpio
ASoC: omap: rx51: Add headset support
ASoC: omap: rx51: Report headset insertion instead of video out cable
ASoC: omap: rx51: Add FM transmitter support
ASoC: omap: rx51: Enable McBSP2 sidetone
Jaroslav Kysela (2):
ALSA: hdspm - remove unused arrays, reduce stack usage in hwdep_ioctl
ALSA: Release v1.0.24
Javier Martin (3):
ASoC: Fix burstsize and DSP_B format problems in imx-ssi.
ASoC: Add TI tlv320aic32x4 codec support.
ASoC: Add machine driver for Visstrim_M10 board.
Justin P. Mattock (4):
ALSA: hda - patch_realtek.c remove one to many l's in the word.
ALSA: emu10k1 - emu10k1_main.c remove one to many l's in the word.
ASoC: remove one to many l's in the word sound:core:seq:seq_ports.c Remove one to many n's in a word.
Kirill A. Shutemov (1):
ALSA: ctxfi - use list_move() instead of list_del()/list_add() combination
Kuninori Morimoto (8):
ASoC: sh: fsi-ak4642: fixup platform device id
ASoC: ak4642: add SND_SOC_DAIFMT_FORMAT support
ASoC: sh: fsi: Add fsi_get_priv_frm_dai function
ASoC: sh: fsi: Add snd_soc_dai_set_fmt support
ASoC: sh: fsi-hdmi: Add FSI port and HDMI selection
ASoC: sh: fsi: move chan_num from fsi_stream to fsi_priv
ASoC: sh: fsi: free from NULL pointer of struct sh_fsi_platform_info
ASoC: sh: fsi: modify selection method of I2S/PCM/SPDIF format
Lars-Peter Clausen (7):
ASoC: codecs: wm8753: Fix DAI mode switching
ASoC: neo1973_wm8753: Remove scenario management code.
ASoC: neo1973_wm8753: Move lm4857 specefic code to its own module
ASoC: neo1973_gta02_wm8753: Remove lm4853_{set,get}_state
ASoC: neo1973_gta02_wm8753: Use gpio_request_array to request gpios
ASoC: Samsung: Merge neo1937_wm8753 and neo1973_gta02_wm8753 sound board driver
ASoC: Add driver for the dfbmcs320 bluetooth module
Mark Brown (73):
ASoC: Taint the kernel if debugfs is used to write directly to CODECs
ASoC: Update name of debugfs root symbol to snd_soc_
ASoC: Fix indentation in soc_remove()
ASoC: Avoid direct register cache access when setting defaults
ASoC: Explicitly say if we're powering up or down
ASoC: Add support for sequencing within
ASoC: Provide per widget type callback when executing DAPM sequences
ASoC: Staticise twl6040_hs_jack_report()
ASoC: Fix type for snd_soc_volatile_register()
ASoC: Remove controls from sequenced PGA arguments
ASoC: Staticise non-exported symbols in cs4271
ASoC: Use card rather than soc-audio device to card PM functions
ASoC: Replace pdev with card in machine driver probe and remove
ASoC: Export card PM callbacks for use in direct registered cards
ASoC: Make cache status available via debugfs
ASoC: Add subsequence information to seq_notify callbacks
ASoC: Add card driver data
ASoC: Accept any logical value for WM8962 GPIO set()
ASoC: Accept any logical value WM8903 GPIO set()
ASoC: Use snd_pcm_format_width() in snd_soc_params_to_frame_size()
ASoC: Update PM ifdefs for exported suspend/resume
ASoC: Sort ALC5623 in Kconfig and Makefile
ASoC: Remove redundant -codec from WM8903 driver name
ASoC: Display WM8903 chip revision alphabetically
ASoC: Add support for AIF channel muxing on WM8903
ASoC: Convert WM8903 to use PGA_S for output stage enables
ASoC: Dynamically manage CLK_SYS in WM8903
ASoC: Fix WM8903 DAC mute default
ASoC: Actively manage WM8903 DC servo configuration
ASoC: Convert WM8903 bias management to use snd_soc_update_bits()
ASoC: Don't use write sequencer to power up WM8903
ASoC: Use explicit sequence for WM8903 bias off
ASoC: Warn if WM8903 platform data is used to enable microphone IRQ
ASoC: Fix missing space in WM8994
ASoC: Remove export of snd_soc_dapm_stream_event()
ASoC: Log wm_hubs DC servo operation code when reporting a timeout
ASoC: Allow GPIO jack detection to be configured as a wake source
ASoC: Add kerneldoc for jack_status_check callback
ASoC: Mark WM8958 microphone detection registers readable
ASoC: Hook wm_hubs micbiases up to CLK_SYS
ASoC: Remove card from snd_soc_dapm_set_bias_level()
ASoC: Run bias level changes for all DAPM contexts in parallel
ASoC: Mark WM8958 microphone bias registers as readable
ASoC: Support WM8958 direct microphone detection IRQ
ASoC: Support configuration of WM8958 microphone bias analogue parameters
ASoC: Simplify default WM8958 jack detection code
ASoC: Pass the jack to jack notifiers
ASoC: Remove -codec suffix from WM9081 driver
ASoC: Move WM2000 to dev_pm_ops
ASoC: Staticise non-exported symbols in SGTL5000
ASoC: Remove module probe announcements from CODEC drivers
ASoC: Add platform data for WM9081 IRQ pin configuration
ASoC: Fix broken bitfield definitions in WM8978
ASoC: Add TLV information for WM8978 DAC limiter
ASoC: Get the card directly from the DAPM context
ASoC: Check for a CODEC before dereferencing in DAPM
ASoC: Add a per-card DAPM context
ASoC: Allow card DAPM widgets and routes to be set up at registration
ASoC: Add a late_probe() callback to cards
ASoC: Fix outdated API usage in tlv320aic32x4
ASoC: Add missing debugfs conditionals
ASoC: Add LM4857 to SND_SOC_ALL_CODECS
ASoC: Add DAPM widget and path data to CODEC driver structure
ASoC: Use data based init for WM9081 DAPM
ASoC: Fix section mismatch warnings in WM8994
ASoC: Provide CODEC clocking operations and API calls
ASoC: Convert WM9081 SYSCLK configuration to be device wide
ASoC: Refactor symmetric_rates check to reduce indentation
ASoC: Warn rather than set a silly constraint when we can't do symmetry
ASoC: Fix prefixing of DAPM controls by factoring prefix into snd_soc_cnew()
ASoC: Simplify WM9081 speaker startup by using widgets for spaker output
ASoC: Fix double addition of prefixes due to widget prefixing
ASoC: Fix spacing in MAX8950
Mika Westerberg (1):
ASoC: ep93xx-ac97: remove extra empty line
Nicolas Kaiser (1):
ALSA: sound/core: merge list_del()/list_add_tail() to list_move_tail()
Oliver Neukum (2):
ALSA: usbaudio: fix suspend/resume
ALSA: usbaudio: implement USB autosuspend
Paul Bolle (3):
ALSA: intel8x0m: wait a bit before warm reset check
ALSA: intel8x0m: add 'm' as "suffix" to static functions
ALSA: intel8x0m: append 'm' to "r_intel8x0"
Peter Ujfalusi (1):
ASoC: core: Remove dapm_sync call from soc_post_component_init
Przemyslaw Bruski (4):
ALSA: ctxfi - Fix microphone boost codes/comments
ALSA: ctxfi - Fix incorrect SPDIF status bit mask
ALSA: ctxfi - Fix SPDIF status retrieval
ALSA: ctxfi - Clear input settings before initialization
Raymond Yau (2):
ALSA: hda - simplify multistreaming playback model of ad1988 ALSA - au88x0 - add Playback Volume to 10 bands Equalizer Controls
Risto Suominen (1):
ALSA: powermac - Allow input from microphone on Tumbler
Seungwhan Youn (5):
ASoC: SAMSUNG: Remove AC97 header file
ASoC: SAMSUNG: Clean-up DMA header file
ASoC: SAMSUNG: Move PCM specific definitions into pcm.c
ASoC: SAMSUNG: Clean-up header includes
ASoC: documentation updates
Stephen Rothwell (1):
ALSA: firewire - msleep needs delay.h
Stephen Warren (27):
ASoC: Export debugfs root dentry
ASoC: tegra: Add tegra-das driver
ASoC: tegra: Add tegra-pcm driver
ASoC: tegra: Add tegra-i2s driver
ASoC: tegra: Machine utility code
ASoC: tegra: Harmony machine support
ASoC: tegra: Kconfig and Makefile
ASoC: tegra: s/IS_ERR_OR_NULL/IS_ERR/ for clk_get_sys
ASoC: tegra: Remove TEGRA_I2S_AUDIO from Kconfig
ASoC: tegra: Add DAPM widgets/routes for Harmony
ASoC: wm8903: Expose GPIOs through gpiolib
ASoC: Move card list initialization to snd_soc_register_card
ASoC: Tegra: Harmony: Don't use soc-audio platform device
ASoC: Tegra: Harmony: Support the internal speaker
ASoC: Tegra: Harmony: Fix indentation issue.
ASoC: Tegra: Harmony: Use dev_err not pr_err
ASoC: Tegra: utils: Don't use global variables
ASoC: Tegra: I2S: Use dev_err not pr_err
ASoC: Tegra: Harmony: Remove redundant !!
ASoC: Tegra: Harmony: Add headphone jack detection
ASoC: Tegra: Harmony: Add switch control for speaker
ASoC: Tegra: Harmony: Implement mic detection
ASoC: Harmony: Call snd_soc_dapm_nc_pin
ASoC: Tegra: Harmony: Explicitly set mic enables
ASoC: Tegra: Add MODULE_ALIAS
ASoC: Tegra: Move utilities to separate module
ASoC: Tegra: Fix error handling in DMA channel alloc
Sven Neumann (1):
ASoC: PXA: formatting
Takashi Iwai (10):
ALSA: hda - Avoid cast with union data for HDMI audio infoframe
ALSA: hda - Make common input-jack helper functions
ALSA: asihpi - Use %zd for size_t argument in error message
sound: Use sound_register_*() for additional OSS minor devices
ALSA: Add snd_ctl_activate_id()
ALSA: atiixp - Fix wrong time-out checks during ac-link reset
ALSA: hda - Initialize special cases for input src in init phase
ALSA: hda - Move default input-src selection to init part
ALSA: hda - Remove an unused variable in patch_realtek.c
ALSA: aloop - Fix possible IRQ lock inversion
Timur Tabi (1):
ASoC: let snd_soc_update_bits() return an error code
Torsten Schenk (1):
ALSA: usb/6fire - Driver for TerraTec DMX 6Fire USB
Vaibhav Bedia (3):
ASoC: Davinci: Use resource_size() helper function
ASoC: Davinci: Call clk_disable() and clk_put() in case of error
ASoC: Davinci: Replace usage of IO_ADDRESS with ioremap()
Vasily Khoruzhick (2):
ASoC: PXA: z2: Mute internal speaker when headphones are connected
ASoC: PXA: Z2: Fix codec pin name
Vinod Koul (23):
ASoC: sst v2: Add sn95031 codec driver
ASoC: sst v2: Add mid platform driver
ASoC sst v2: Add medfield machine driver
ASoC: sst v2: Add makefiles and kconfigs changes
ASoC: sn95031 fix the code style and format inconsistencies
ASoC: sst platform - fix the style inconsistency
ASoC: mid-x86 - remove the flag in makefile
ASoC: soc core move card cleanup from soc_remove()
ASoC: soc core move the card debugfs initialization
ASoC: soc core add inline to handle card list initialzation
ASoC: soc core allow machine driver to register the card
ASoC: Add dependency on INTEL_SCU_IPC for Intel MID drivers
ASoC: mid-x86: Fix dependency on intel_sst driver
ASoC: sn95031: Add jack support in the codec
ASoC: mfld_machine: Add support for jack detection
ASoC: sn95031: Add support for reading mic bias
ASoC: add support for multiple jack types
ASoC: mid-x86: Use the soc-jack apis for jack type detection
ASoC: sn95031: make playback rails depend on actual pins they control
ASoC: sn95031: fix the DMIC path routing
ASoC: sn95031: fix the amic tlv scale
ASoC: mfld_machine: make use of soc_register_card API
ASoC: sst_platform: fix the pulseaudio error
Vitaliy Kulikov (2):
ALSA: hda - fix digital mic selection in mixer on 92HD8X codecs
ALSA: hda - pin-adc-mux-dmic auto-configuration of 92HD8X codecs
Zeng Zhaoming (2):
ASoC: Add Freescale SGTL5000 codec support
ASoC: remove unnecessary header including in SGTL5000 codec driver
Łukasz Wojniłowicz (1):
ALSA: hda - 4930g add internal lfe slider
--- arch/arm/mach-shmobile/board-ag5evm.c | 10 - arch/arm/mach-shmobile/board-ap4evb.c | 13 +- arch/arm/mach-shmobile/board-mackerel.c | 13 +- arch/sh/boards/mach-ecovec24/setup.c | 6 +- arch/sh/boards/mach-se/7724/setup.c | 6 +- drivers/firewire/core-iso.c | 1 + drivers/firewire/core.h | 3 - include/linux/firewire.h | 7 + include/linux/mfd/wm8994/pdata.h | 12 +- include/linux/mfd/wm8994/registers.h | 2 + include/sound/ac97_codec.h | 5 + include/sound/control.h | 2 + include/sound/cs4271.h | 24 + include/sound/hdspm.h | 179 +- include/sound/mixer_oss.h | 3 + include/sound/pcm.h | 91 +- include/sound/sh_fsi.h | 76 +- include/sound/soc-dapm.h | 16 + include/sound/soc.h | 147 +- include/sound/tlv320aic32x4.h | 31 + include/sound/version.h | 2 +- include/sound/wm8903.h | 20 +- include/sound/wm9081.h | 9 +- include/trace/events/asoc.h | 25 + sound/Kconfig | 2 + sound/Makefile | 2 +- sound/core/control.c | 68 +- sound/core/device.c | 7 +- sound/core/memalloc.c | 3 +- sound/core/oss/linear.c | 7 +- sound/core/oss/mixer_oss.c | 10 +- sound/core/oss/mulaw.c | 2 +- sound/core/oss/pcm_oss.c | 51 +- sound/core/oss/pcm_plugin.c | 40 +- sound/core/oss/pcm_plugin.h | 11 +- sound/core/oss/route.c | 6 +- sound/core/pcm.c | 10 +- sound/core/pcm_misc.c | 35 +- sound/core/pcm_native.c | 2 +- sound/core/seq/seq_clientmgr.c | 7 +- sound/core/seq/seq_memory.c | 6 +- sound/core/seq/seq_memory.h | 4 + sound/core/seq/seq_ports.c | 2 +- sound/core/timer.c | 8 +- sound/core/vmaster.c | 2 +- sound/drivers/aloop.c | 19 +- sound/firewire/Kconfig | 25 + sound/firewire/Makefile | 6 + sound/firewire/amdtp.c | 562 +++ sound/firewire/amdtp.h | 169 + sound/firewire/cmp.c | 308 ++ sound/firewire/cmp.h | 41 + sound/firewire/fcp.c | 224 ++ sound/firewire/fcp.h | 12 + sound/firewire/iso-resources.c | 232 ++ sound/firewire/iso-resources.h | 39 + sound/firewire/lib.c | 85 + sound/firewire/lib.h | 19 + sound/firewire/packets-buffer.c | 74 + sound/firewire/packets-buffer.h | 26 + sound/firewire/speakers.c | 858 +++++ sound/oss/soundcard.c | 56 +- sound/pci/Kconfig | 12 +- sound/pci/ac97/ac97_codec.c | 90 +- sound/pci/ac97/ac97_patch.c | 52 + sound/pci/asihpi/asihpi.c | 774 ++-- sound/pci/asihpi/hpi.h | 1214 +++---- sound/pci/asihpi/hpi6000.c | 299 +- sound/pci/asihpi/hpi6205.c | 603 ++-- sound/pci/asihpi/hpi6205.h | 7 +- sound/pci/asihpi/hpi_internal.h | 1118 +++---- sound/pci/asihpi/hpicmn.c | 480 ++-- sound/pci/asihpi/hpicmn.h | 24 +- sound/pci/asihpi/hpidebug.c | 157 +- sound/pci/asihpi/hpidebug.h | 323 +-- sound/pci/asihpi/hpidspcd.c | 37 +- sound/pci/asihpi/hpidspcd.h | 2 +- sound/pci/asihpi/hpifunc.c | 2498 ++++---------- sound/pci/asihpi/hpimsginit.c | 18 +- sound/pci/asihpi/hpimsginit.h | 12 +- sound/pci/asihpi/hpimsgx.c | 203 +- sound/pci/asihpi/hpioctl.c | 90 +- sound/pci/asihpi/hpios.h | 10 +- sound/pci/atiixp.c | 2 +- sound/pci/atiixp_modem.c | 2 +- sound/pci/au88x0/au88x0_eq.c | 3 +- sound/pci/azt3328.c | 450 +++- sound/pci/ctxfi/ctatc.c | 2 +- sound/pci/ctxfi/ctdaio.c | 2 + sound/pci/ctxfi/cthw20k2.c | 28 +- sound/pci/ctxfi/ctmixer.c | 19 +- sound/pci/ctxfi/ctvmem.c | 3 +- sound/pci/emu10k1/emu10k1_main.c | 2 +- sound/pci/hda/hda_codec.c | 105 + sound/pci/hda/hda_codec.h | 5 + sound/pci/hda/hda_intel.c | 7 +- sound/pci/hda/hda_local.h | 24 + sound/pci/hda/patch_analog.c | 117 +- sound/pci/hda/patch_conexant.c | 124 +- sound/pci/hda/patch_hdmi.c | 22 +- sound/pci/hda/patch_realtek.c | 206 +- sound/pci/hda/patch_sigmatel.c | 318 +- sound/pci/intel8x0m.c | 107 +- sound/pci/rme9652/hdspm.c | 4466 ++++++++++++++++++------ sound/ppc/pmac.c | 6 +- sound/soc/Kconfig | 2 + sound/soc/Makefile | 2 + sound/soc/codecs/Kconfig | 34 +- sound/soc/codecs/Makefile | 18 +- sound/soc/codecs/ak4104.c | 1 - sound/soc/codecs/ak4642.c | 24 + sound/soc/codecs/cs4270.c | 8 +- sound/soc/codecs/cs4271.c | 667 ++++ sound/soc/codecs/dfbmcs320.c | 72 + sound/soc/codecs/lm4857.c | 276 ++ sound/soc/codecs/max98088.c | 2 +- sound/soc/codecs/max9850.c | 389 ++ sound/soc/codecs/max9850.h | 38 + sound/soc/codecs/sgtl5000.c | 1513 ++++++++ sound/soc/codecs/sgtl5000.h | 400 +++ sound/soc/codecs/sn95031.c | 949 +++++ sound/soc/codecs/sn95031.h | 132 + sound/soc/codecs/tlv320aic32x4.c | 794 +++++ sound/soc/codecs/tlv320aic32x4.h | 143 + sound/soc/codecs/tlv320dac33.c | 1 + sound/soc/codecs/twl6040.c | 4 +- sound/soc/codecs/wm2000.c | 14 +- sound/soc/codecs/wm8523.c | 8 +- sound/soc/codecs/wm8741.c | 13 +- sound/soc/codecs/wm8753.c | 296 +- sound/soc/codecs/wm8804.c | 2 +- sound/soc/codecs/wm8900.c | 2 +- sound/soc/codecs/wm8903.c | 641 +++- sound/soc/codecs/wm8903.h | 8 + sound/soc/codecs/wm8904.c | 43 +- sound/soc/codecs/wm8955.c | 27 +- sound/soc/codecs/wm8961.c | 2 +- sound/soc/codecs/wm8962.c | 36 +- sound/soc/codecs/wm8978.c | 7 +- sound/soc/codecs/wm8991.c | 1427 ++++++++ sound/soc/codecs/wm8991.h | 833 +++++ sound/soc/codecs/wm8993.c | 2 +- sound/soc/codecs/wm8994-tables.c | 12 +- sound/soc/codecs/wm8994.c | 127 +- sound/soc/codecs/wm8994.h | 2 +- sound/soc/codecs/wm8995.c | 103 +- sound/soc/codecs/wm9081.c | 84 +- sound/soc/codecs/wm9090.c | 45 +- sound/soc/codecs/wm_hubs.c | 3 +- sound/soc/davinci/davinci-i2s.c | 28 +- sound/soc/davinci/davinci-mcasp.c | 29 +- sound/soc/ep93xx/Kconfig | 9 + sound/soc/ep93xx/Makefile | 2 + sound/soc/ep93xx/edb93xx.c | 142 + sound/soc/ep93xx/ep93xx-ac97.c | 1 - sound/soc/ep93xx/ep93xx-i2s.c | 31 +- sound/soc/ep93xx/ep93xx-pcm.c | 4 +- sound/soc/fsl/mpc8610_hpcd.c | 6 +- sound/soc/fsl/p1022_ds.c | 6 +- sound/soc/imx/Kconfig | 10 + sound/soc/imx/Makefile | 2 + sound/soc/imx/imx-ssi.c | 5 +- sound/soc/imx/mx27vis-aic32x4.c | 137 + sound/soc/mid-x86/Kconfig | 14 + sound/soc/mid-x86/Makefile | 5 + sound/soc/mid-x86/mfld_machine.c | 452 +++ sound/soc/mid-x86/sst_platform.c | 474 +++ sound/soc/mid-x86/sst_platform.h | 63 + sound/soc/omap/Kconfig | 1 + sound/soc/omap/rx51.c | 131 +- sound/soc/pxa/raumfeld.c | 20 +- sound/soc/pxa/tosa.c | 4 +- sound/soc/pxa/z2.c | 7 +- sound/soc/pxa/zylonite.c | 9 +- sound/soc/samsung/Kconfig | 19 +- sound/soc/samsung/Makefile | 2 - sound/soc/samsung/ac97.c | 8 +- sound/soc/samsung/ac97.h | 21 - sound/soc/samsung/dma.c | 13 +- sound/soc/samsung/dma.h | 8 - sound/soc/samsung/goni_wm8994.c | 10 +- sound/soc/samsung/h1940_uda1380.c | 9 - sound/soc/samsung/i2s.c | 3 +- sound/soc/samsung/jive_wm8750.c | 11 - sound/soc/samsung/lm4857.h | 32 - sound/soc/samsung/ln2440sbc_alc650.c | 7 - sound/soc/samsung/neo1973_gta02_wm8753.c | 504 --- sound/soc/samsung/neo1973_wm8753.c | 635 ++--- sound/soc/samsung/pcm.c | 118 +- sound/soc/samsung/pcm.h | 107 - sound/soc/samsung/rx1950_uda1380.c | 11 - sound/soc/samsung/s3c-i2s-v2.c | 3 +- sound/soc/samsung/s3c2412-i2s.c | 12 +- sound/soc/samsung/s3c24xx-i2s.c | 14 +- sound/soc/samsung/s3c24xx_simtec.c | 7 - sound/soc/samsung/s3c24xx_simtec_hermes.c | 10 - sound/soc/samsung/s3c24xx_simtec_tlv320aic23.c | 12 - sound/soc/samsung/s3c24xx_uda134x.c | 9 +- sound/soc/samsung/smartq_wm8987.c | 6 - sound/soc/samsung/smdk2443_wm9710.c | 7 - sound/soc/samsung/smdk_spdif.c | 5 - sound/soc/samsung/smdk_wm8580.c | 7 +- sound/soc/samsung/smdk_wm9713.c | 5 - sound/soc/samsung/spdif.c | 3 +- sound/soc/sh/fsi-ak4642.c | 24 +- sound/soc/sh/fsi-da7210.c | 13 +- sound/soc/sh/fsi-hdmi.c | 77 +- sound/soc/sh/fsi.c | 203 +- sound/soc/soc-cache.c | 386 +-- sound/soc/soc-core.c | 548 ++- sound/soc/soc-dapm.c | 257 +- sound/soc/soc-jack.c | 58 +- sound/soc/soc-utils.c | 23 +- sound/soc/tegra/Kconfig | 26 + sound/soc/tegra/Makefile | 15 + sound/soc/tegra/harmony.c | 393 +++ sound/soc/tegra/tegra_asoc_utils.c | 155 + sound/soc/tegra/tegra_asoc_utils.h | 45 + sound/soc/tegra/tegra_das.c | 265 ++ sound/soc/tegra/tegra_das.h | 135 + sound/soc/tegra/tegra_i2s.c | 503 +++ sound/soc/tegra/tegra_i2s.h | 165 + sound/soc/tegra/tegra_pcm.c | 404 +++ sound/soc/tegra/tegra_pcm.h | 55 + sound/sound_core.c | 3 + sound/usb/6fire/Makefile | 3 + sound/usb/6fire/chip.c | 232 ++ sound/usb/6fire/chip.h | 32 + sound/usb/6fire/comm.c | 176 + sound/usb/6fire/comm.h | 44 + sound/usb/6fire/common.h | 30 + sound/usb/6fire/control.c | 275 ++ sound/usb/6fire/control.h | 37 + sound/usb/6fire/firmware.c | 426 +++ sound/usb/6fire/firmware.h | 27 + sound/usb/6fire/midi.c | 203 ++ sound/usb/6fire/midi.h | 46 + sound/usb/6fire/pcm.c | 688 ++++ sound/usb/6fire/pcm.h | 76 + sound/usb/Kconfig | 17 + sound/usb/Makefile | 2 +- sound/usb/caiaq/audio.c | 1 + sound/usb/caiaq/device.c | 6 + sound/usb/caiaq/device.h | 1 + sound/usb/card.c | 64 +- sound/usb/midi.c | 8 + sound/usb/mixer.c | 65 +- sound/usb/mixer.h | 2 + sound/usb/mixer_quirks.c | 174 +- sound/usb/pcm.c | 20 +- sound/usb/power.h | 17 + sound/usb/quirks-table.h | 14 + sound/usb/quirks.c | 56 +- sound/usb/usbaudio.h | 6 +- 254 files changed, 27080 insertions(+), 9623 deletions(-) create mode 100644 include/sound/cs4271.h create mode 100644 include/sound/tlv320aic32x4.h create mode 100644 sound/firewire/Kconfig create mode 100644 sound/firewire/Makefile create mode 100644 sound/firewire/amdtp.c create mode 100644 sound/firewire/amdtp.h create mode 100644 sound/firewire/cmp.c create mode 100644 sound/firewire/cmp.h create mode 100644 sound/firewire/fcp.c create mode 100644 sound/firewire/fcp.h create mode 100644 sound/firewire/iso-resources.c create mode 100644 sound/firewire/iso-resources.h create mode 100644 sound/firewire/lib.c create mode 100644 sound/firewire/lib.h create mode 100644 sound/firewire/packets-buffer.c create mode 100644 sound/firewire/packets-buffer.h create mode 100644 sound/firewire/speakers.c create mode 100644 sound/soc/codecs/cs4271.c create mode 100644 sound/soc/codecs/dfbmcs320.c create mode 100644 sound/soc/codecs/lm4857.c create mode 100644 sound/soc/codecs/max9850.c create mode 100644 sound/soc/codecs/max9850.h create mode 100644 sound/soc/codecs/sgtl5000.c create mode 100644 sound/soc/codecs/sgtl5000.h create mode 100644 sound/soc/codecs/sn95031.c create mode 100644 sound/soc/codecs/sn95031.h create mode 100644 sound/soc/codecs/tlv320aic32x4.c create mode 100644 sound/soc/codecs/tlv320aic32x4.h create mode 100644 sound/soc/codecs/wm8991.c create mode 100644 sound/soc/codecs/wm8991.h create mode 100644 sound/soc/ep93xx/edb93xx.c create mode 100644 sound/soc/imx/mx27vis-aic32x4.c create mode 100644 sound/soc/mid-x86/Kconfig create mode 100644 sound/soc/mid-x86/Makefile create mode 100644 sound/soc/mid-x86/mfld_machine.c create mode 100644 sound/soc/mid-x86/sst_platform.c create mode 100644 sound/soc/mid-x86/sst_platform.h delete mode 100644 sound/soc/samsung/ac97.h delete mode 100644 sound/soc/samsung/lm4857.h delete mode 100644 sound/soc/samsung/neo1973_gta02_wm8753.c create mode 100644 sound/soc/tegra/Kconfig create mode 100644 sound/soc/tegra/Makefile create mode 100644 sound/soc/tegra/harmony.c create mode 100644 sound/soc/tegra/tegra_asoc_utils.c create mode 100644 sound/soc/tegra/tegra_asoc_utils.h create mode 100644 sound/soc/tegra/tegra_das.c create mode 100644 sound/soc/tegra/tegra_das.h create mode 100644 sound/soc/tegra/tegra_i2s.c create mode 100644 sound/soc/tegra/tegra_i2s.h create mode 100644 sound/soc/tegra/tegra_pcm.c create mode 100644 sound/soc/tegra/tegra_pcm.h create mode 100644 sound/usb/6fire/Makefile create mode 100644 sound/usb/6fire/chip.c create mode 100644 sound/usb/6fire/chip.h create mode 100644 sound/usb/6fire/comm.c create mode 100644 sound/usb/6fire/comm.h create mode 100644 sound/usb/6fire/common.h create mode 100644 sound/usb/6fire/control.c create mode 100644 sound/usb/6fire/control.h create mode 100644 sound/usb/6fire/firmware.c create mode 100644 sound/usb/6fire/firmware.h create mode 100644 sound/usb/6fire/midi.c create mode 100644 sound/usb/6fire/midi.h create mode 100644 sound/usb/6fire/pcm.c create mode 100644 sound/usb/6fire/pcm.h create mode 100644 sound/usb/power.h
Quoted 5 lines · Takashi Iwai
Linus,
please pull sound updates for v2.6.39-rc1 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.gitfor-linus
This build failure:
sound/built-in.o: In function `ldo_regulator_remove':
sgtl5000.c:(.text+0x82678): undefined reference to regulator_unregister' sound/built-in.o: In function ldo_regulator_is_enabled':
sgtl5000.c:(.text+0x826c5): undefined reference to rdev_get_drvdata' sound/built-in.o: In function ldo_regulator_disable':
sgtl5000.c:(.text+0x826ef): undefined reference to rdev_get_drvdata' sound/built-in.o: In function ldo_regulator_enable':
sgtl5000.c:(.text+0x82756): undefined reference to rdev_get_drvdata' sound/built-in.o: In function ldo_regulator_get_voltage':
sgtl5000.c:(.text+0x82815): undefined reference to rdev_get_drvdata' sound/built-in.o: In function sgtl5000_probe':
has been pushed upstream - although the build breakage was reported against linux-next two weeks ago, with fix provided, in this lkml thread:
[PATCH -next] soc: sgtl5000 uses regulator interfaces
Please do not push known-broken code upstream.
Randy's fix below resolved the bug for me.
Thanks,
Ingo
--------------------->
Quoted 1 line
From
8c7c9a0622d5b1955628961ae193c12d948c1871Mon Sep 17 00:00:00 2001
From: Randy Dunlap <[email protected]>
Date: Fri, 4 Mar 2011 17:33:57 -0800
Subject: [PATCH] soc: Sgtl5000 uses regulator interfaces
sgtl5000 uses regulator interfaces, so make selecting it depend on REGULATOR.
sgtl5000.c:(.text+0x4ae33): undefined reference to regulator_unregister' sgtl5000.c:(.text+0x4af41): undefined reference to rdev_get_drvdata' sgtl5000.c:(.text+0x4b191): undefined reference to `regulator_register'
LKML-Reference: <[email protected]>
--- sound/soc/codecs/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
sound/soc/codecs/Kconfig +1 -1
@@ -36,7 +36,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_MAX9850 if I2C select SND_SOC_MAX9877 if I2C select SND_SOC_PCM3008 - select SND_SOC_SGTL5000 if I2C + select SND_SOC_SGTL5000 if I2C && REGULATOR select SND_SOC_SN95031 if INTEL_SCU_IPC select SND_SOC_SPDIF select SND_SOC_SSM2602 if I2C
Quoted 23 lines · Ingo Molnar
Quoted 5 lines · Takashi Iwai
Linus,
please pull sound updates for v2.6.39-rc1 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.gitfor-linusThis build failure:
sound/built-in.o: In function `ldo_regulator_remove':
sgtl5000.c:(.text+0x82678): undefined reference toregulator_unregister' sound/built-in.o: In functionldo_regulator_is_enabled':
sgtl5000.c:(.text+0x826c5): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_disable':
sgtl5000.c:(.text+0x826ef): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_enable':
sgtl5000.c:(.text+0x82756): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_get_voltage':
sgtl5000.c:(.text+0x82815): undefined reference tordev_get_drvdata' sound/built-in.o: In functionsgtl5000_probe':
Quoted 8 lines
has been pushed upstream - although the build breakage was reported against linux-next two weeks ago, with fix provided, in this lkml thread:
[PATCH -next] soc: sgtl5000 uses regulator interfaces
Please do not push known-broken code upstream.
Randy's fix below resolved the bug for me.
The driver author did promise a different fix, but I haven't seen it.
Quoted 42 lines
Thanks,
Ingo
--------------------->
From8c7c9a0622d5b1955628961ae193c12d948c1871Mon Sep 17 00:00:00 2001
From: Randy Dunlap <[email protected]>
Date: Fri, 4 Mar 2011 17:33:57 -0800
Subject: [PATCH] soc: Sgtl5000 uses regulator interfacessgtl5000 uses regulator interfaces, so make selecting it depend on REGULATOR.
sgtl5000.c:(.text+0x4ae33): undefined reference to
regulator_unregister' sgtl5000.c:(.text+0x4af41): undefined reference tordev_get_drvdata' sgtl5000.c:(.text+0x4b191): undefined reference to `regulator_register'Signed-off-by Randy Dunlap <[email protected]>Cc Liam Girdwood <[email protected]>Cc Mark Brown <[email protected]>Cc Stephen Rothwell <[email protected]>Cc Zeng Zhaoming <[email protected]>LKML-Reference: <[email protected]>
Signed-off-by Ingo Molnar <[email protected]>--- sound/soc/codecs/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)sound/soc/codecs/Kconfig +1
-1@@ -36,7 +36,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_MAX9850 if I2C select SND_SOC_MAX9877 if I2C select SND_SOC_PCM3008 - select SND_SOC_SGTL5000 if I2C + select SND_SOC_SGTL5000 if I2C && REGULATOR select SND_SOC_SN95031 if INTEL_SCU_IPC select SND_SOC_SPDIF select SND_SOC_SSM2602 if I2C
Signature · 2 lines
~Randy *** Remember to use Documentation/SubmitChecklist when testing your code ***
At Mon, 21 Mar 2011 16:37:19 +0100,
Quoted 24 lines · Ingo Molnar
Quoted 5 lines · Takashi Iwai
Linus,
please pull sound updates for v2.6.39-rc1 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.gitfor-linusThis build failure:
sound/built-in.o: In function `ldo_regulator_remove':
sgtl5000.c:(.text+0x82678): undefined reference toregulator_unregister' sound/built-in.o: In functionldo_regulator_is_enabled':
sgtl5000.c:(.text+0x826c5): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_disable':
sgtl5000.c:(.text+0x826ef): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_enable':
sgtl5000.c:(.text+0x82756): undefined reference tordev_get_drvdata' sound/built-in.o: In functionldo_regulator_get_voltage':
sgtl5000.c:(.text+0x82815): undefined reference tordev_get_drvdata' sound/built-in.o: In functionsgtl5000_probe':
Quoted 6 lines
has been pushed upstream - although the build breakage was reported against linux-next two weeks ago, with fix provided, in this lkml thread:
[PATCH -next] soc: sgtl5000 uses regulator interfaces
Please do not push known-broken code upstream.
Oh, I obviously overlooked it since I wasn't in Cc (and alsa-devel ML is a subscribers-only one...)
Quoted 1 line
Randy's fix below resolved the bug for me.
Looking back to the thread, Zeng Zhaoming wanted to fix in a different way. Is it already ready?
thanks,
Takashi
Quoted 43 lines
Thanks,
Ingo
--------------------->
Quoted 1 line
From
8c7c9a0622d5b1955628961ae193c12d948c1871Mon Sep 17 00:00:00 2001From: Randy Dunlap <[email protected]>
Date: Fri, 4 Mar 2011 17:33:57 -0800
Subject: [PATCH] soc: Sgtl5000 uses regulator interfacessgtl5000 uses regulator interfaces, so make selecting it depend on REGULATOR.
sgtl5000.c:(.text+0x4ae33): undefined reference to
regulator_unregister' sgtl5000.c:(.text+0x4af41): undefined reference tordev_get_drvdata' sgtl5000.c:(.text+0x4b191): undefined reference to `regulator_register'Signed-off-by Randy Dunlap <[email protected]>Cc Liam Girdwood <[email protected]>Cc Mark Brown <[email protected]>Cc Stephen Rothwell <[email protected]>Cc Zeng Zhaoming <[email protected]>LKML-Reference: <[email protected]>
Signed-off-by Ingo Molnar <[email protected]>--- sound/soc/codecs/Kconfig | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)sound/soc/codecs/Kconfig +1
-1@@ -36,7 +36,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_MAX9850 if I2C select SND_SOC_MAX9877 if I2C select SND_SOC_PCM3008 - select SND_SOC_SGTL5000 if I2C + select SND_SOC_SGTL5000 if I2C && REGULATOR select SND_SOC_SN95031 if INTEL_SCU_IPC select SND_SOC_SPDIF select SND_SOC_SSM2602 if I2C
Quoted 4 lines · Ingo Molnar
has been pushed upstream - although the build breakage was reported against linux-next two weeks ago, with fix provided, in this lkml thread:
[PATCH -next] soc: sgtl5000 uses regulator interfaces
Zheng, you said you'd provide a better patch for this but I've heard nothing since? It's a trivial change you need to make...
Quoted 1 line
Please do not push known-broken code upstream.
That seems like an overreaction, it'll only show up in fairly unrealstic randconfigs and can be trivially avoided by anyone who actually needs the driver - core things like all*config won't be affected, and right now it'll only come up at all if you enable SND_SOC_ALL_CODECS which is purely about build coverage.
Quoted 1 line
Randy's fix below resolved the bug for me.
As indicated that's not a good fix since the affected code is all runtime conditional already. It'd be more likely to impede than help the sort of build coverage tests where one would encounter it.
Quoted 7 lines · Mark Brown
Quoted 4 lines · Ingo Molnar
has been pushed upstream - although the build breakage was reported against linux-next two weeks ago, with fix provided, in this lkml thread:
[PATCH -next] soc: sgtl5000 uses regulator interfaces
Quoted 7 lines
Zheng, you said you'd provide a better patch for this but I've heard nothing since? It's a trivial change you need to make...
Quoted 1 line
Please do not push known-broken code upstream.
That seems like an overreaction, it'll only show up in fairly unrealstic randconfigs [...]
I've seen it trigger with a likelyhood of about 20%, that's not unrealistic.
Quoted 9 lines
[...] and can be trivially avoided by anyone who actually needs the driver - core things like all*config won't be affected, and right now it'll only come up at all if you enable
SND_SOC_ALL_CODECSwhich is purely about build coverage.Quoted 1 line
Randy's fix below resolved the bug for me.
As indicated that's not a good fix since the affected code is all runtime conditional already. [...]
Well, AFAICS Randy's patch correctly expresses current infrastructure dependencies the driver has.
If it's undesirable to disable the driver in the (unlikely but possible) SND_SOC_ALL_CODECS=y but !REGULATOR case, i.e. if it's desirable to have the driver build more widely, then that can be enhanced further - but first please get things to build.
Quoted 2 lines
[...] It'd be more likely to impede than help the sort of build coverage tests where one would encounter it.
It's an invariant mostly - both Randy's and my testing will find breakages regardless of how restrictively enabled this driver is.
Thanks,
Ingo
Quoted 7 lines · Ingo Molnar
Quoted 2 lines · Mark Brown
As indicated that's not a good fix since the affected code is all runtime conditional already. [...]
Well, AFAICS Randy's patch correctly expresses current infrastructure dependencies the driver has.
That's because the driver code is trivially broken, though - the build test has identified a flaw in the driver which we should fix.
Quoted 4 lines
SND_SOC_ALL_CODECS=y but !REGULATOR case, i.e. if it's desirable to have the driver build more widely, then that can be enhanced further - but first please If it's undesirable to disable the driver in the (unlikely but possible) get things to build.
Right, and as I indicated in my reply Zeng said he'd fix this. I'd rather encourage vendors to take responsibility for their own drivers.
Quoted 5 lines
Quoted 2 lines
[...] It'd be more likely to impede than help the sort of build coverage tests where one would encounter it.
It's an invariant mostly - both Randy's and my testing will find breakages regardless of how restrictively enabled this driver is.
My point is that this is the build test equivalent of using memset to fix uninitialised variables, it's making the test pass rather than making things work. When fixing this sort of thing you need to at least consider if the appropriate fix is to knock out the whole thing in Kconfig or to make sure the code copes with the dependency set either way.
Quoted 11 lines · Mark Brown
Quoted 7 lines · Ingo Molnar
Quoted 2 lines · Mark Brown
As indicated that's not a good fix since the affected code is all runtime conditional already. [...]
Well, AFAICS Randy's patch correctly expresses current infrastructure dependencies the driver has.
That's because the driver code is trivially broken, though - the build test has identified a flaw in the driver which we should fix.
Trivially broken how? Your mail in the original thread, if i read it right, only claimed that it depends on CONFIG_REGULATOR being present while ideally it should be invariant to the value of CONFIG_REGULATOR:
| Since the regulator on the device is optional this isn't the best fix, the | code should be updated to support building without regulator.
If there is some *other* bug there as well then of course it should be fixed instead of worked around.
Thanks,
Ingo
Quoted 8 lines · Ingo Molnar
Quoted 2 lines · Mark Brown
That's because the driver code is trivially broken, though - the build test has identified a flaw in the driver which we should fix.
Trivially broken how? Your mail in the original thread, if i read it right, only claimed that it depends on
CONFIG_REGULATORbeing present while ideally it should be invariant to the value ofCONFIG_REGULATOR:
That's the breakage, yes. It should be very straightforward to make the driver build no matter how CONFIG_REGULATOR is set.
Quoted 5 lines
| Since the regulator on the device is optional this isn't the best fix, the | code should be updated to support building without regulator.
If there is some *other* bug there as well then of course it should be fixed instead of worked around.
There's no other bug relevant to this issue.
Quoted 2 lines · Mark Brown
That's the breakage, yes. It should be very straightforward to make the driver build no matter how
CONFIG_REGULATORis set.
And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
Quoted 7 lines · On Tue, 22 Mar 2011 12:24:36 +0000 Mark Brown wrote:
Quoted 2 lines · Mark Brown
That's the breakage, yes. It should be very straightforward to make the driver build no matter how
CONFIG_REGULATORis set.And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
--
Hi,
Where was the patch sent, please?
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Quoted 6 lines · Randy Dunlap
Quoted 2 lines · On Tue, 22 Mar 2011 12:24:36 +0000 Mark Brown wrote:
And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
Where was the patch sent, please?
SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
M: Liam Girdwood <[email protected]> M: Mark Brown <[email protected]> T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git L: [email protected] (moderated for non-subscribers)
plus Zeng.
At Tue, 22 Mar 2011 08:38:39 -0700,
Quoted 7 lines · Randy Dunlap
Quoted 4 lines · On Tue, 22 Mar 2011 12:24:36 +0000 Mark Brown wrote:
Quoted 2 lines · Mark Brown
That's the breakage, yes. It should be very straightforward to make the driver build no matter how
CONFIG_REGULATORis set.
Quoted 6 lines
Quoted 3 lines
And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
--Hi,
Where was the patch sent, please?
alsa-devel ML. Attached below.
Takashi
===
From: Mark Brown <[email protected]>
Subject: [alsa-devel] [PATCH] ASoC: Support !REGULATOR build for sgtl5000
The regulator is optional depending on board design.
--- sound/soc/codecs/sgtl5000.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
sound/soc/codecs/sgtl5000.c +14 -0
@@ -772,6 +772,7 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,return 0 ; } +#ifdef CONFIG_REGULATOR static int ldo_regulator_is_enabled (struct regulator_dev *dev) {struct ldo_regulator *ldo =rdev_get_drvdata (dev);
@@ -901,6 +902,19 @@ static int ldo_regulator_remove(struct snd_soc_codec *codec) return 0; } +#else +static int ldo_regulator_register (struct snd_soc_codec *codec, +struct regulator_init_data *init_data, +int voltage) +{ +return -EINVAL ; +} + +static int ldo_regulator_remove (struct snd_soc_codec *codec) +{ +return 0 ; +} +#endif /* * set dac bias
Signature · 1 line
1.7.4.1
Quoted 9 lines · On Tue, 22 Mar 2011 16:51:21 +0100 Takashi Iwai wrote:
At Tue, 22 Mar 2011 08:38:39 -0700,
Quoted 7 lines · Randy Dunlap
Quoted 4 lines · On Tue, 22 Mar 2011 12:24:36 +0000 Mark Brown wrote:
Quoted 2 lines · Mark Brown
That's the breakage, yes. It should be very straightforward to make the driver build no matter how
CONFIG_REGULATORis set.
Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
--Hi,
Where was the patch sent, please?alsa-devel ML. Attached below.
Thanks!
Quoted 37 lines
Takashi
===
From: Mark Brown <[email protected]>
Subject: [alsa-devel] [PATCH] ASoC: Support !REGULATOR build for sgtl5000The regulator is optional depending on board design.
Signed-off-by Mark Brown <[email protected]>--- sound/soc/codecs/sgtl5000.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)sound/soc/codecs/sgtl5000.c +7
-0@@ -772,6 +772,7 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,return 0 ; } +#ifdef CONFIG_REGULATOR static int ldo_regulator_is_enabled (struct regulator_dev *dev) {struct ldo_regulator *ldo =rdev_get_drvdata (dev);@@ -901,6 +902,19 @@ static int ldo_regulator_remove(struct snd_soc_codec *codec) return 0; } +#else +static int ldo_regulator_register (struct snd_soc_codec *codec, +struct regulator_init_data *init_data, +int voltage) +{ +return -EINVAL ;
sound/soc/codecs/sgtl5000.c static int ldo_regulator_remove(struct snd_soc_codec *codec) · line 920
Quoted 10 lines
sound/soc/codecs/sgtl5000.c +7
-0+} + +static int ldo_regulator_remove (struct snd_soc_codec *codec) +{ +return 0 ; +} +#endif /* * set dac bias
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
Quoted 51 lines · Takashi Iwai
At Tue, 22 Mar 2011 08:38:39 -0700,
Quoted 7 lines · Randy Dunlap
Quoted 4 lines · On Tue, 22 Mar 2011 12:24:36 +0000 Mark Brown wrote:
Quoted 2 lines · Mark Brown
That's the breakage, yes. It should be very straightforward to make the driver build no matter how
CONFIG_REGULATORis set.Quoted 6 lines
Quoted 3 lines
And indeed it was - in the absence of any response from Zeng I've now sent a patch for review.
--Hi,
Where was the patch sent, please?alsa-devel ML. Attached below.
Takashi
===
From: Mark Brown <[email protected]>
Subject: [alsa-devel] [PATCH] ASoC: Support !REGULATOR build for sgtl5000The regulator is optional depending on board design.
Signed-off-by Mark Brown <[email protected]>--- sound/soc/codecs/sgtl5000.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)sound/soc/codecs/sgtl5000.c +4
-0@@ -772,6 +772,7 @@ static int sgtl5000_pcm_hw_params(struct snd_pcm_substream *substream,return 0 ; } +#ifdef CONFIG_REGULATOR static int ldo_regulator_is_enabled (struct regulator_dev *dev) {struct ldo_regulator *ldo =rdev_get_drvdata (dev);@@ -901,6 +902,19 @@ static int ldo_regulator_remove(struct snd_soc_codec *codec)return 0 ; } +#else +static int ldo_regulator_register(struct snd_soc_codec *codec, + struct regulator_init_data *init_data,
sound/soc/codecs/sgtl5000.c static int ldo_regulator_remove(struct snd_soc_codec *codec) · line 917
Quoted 10 lines
sound/soc/codecs/sgtl5000.c +10
-0+ int voltage) +{ +return -EINVAL ; +} + +static int ldo_regulator_remove (struct snd_soc_codec *codec) +{ +return 0 ; +} +#endif
Btw., ldo_regulator_remove() returns an int, but none of the call sites make use of the return value. Also, ldo_regulator_remove() can only ever return 0.
More importantly, it would be cleaner to wrap the !regulator case by making sgtl5000->ldo NULL (this should already be the case) and making regulator_unregister() available in the !REGULATOR case as well, as an inline stub.
If that is done then the #ifdef can be avoided altogether and the current code would just work out of box:
static int ldo_regulator_remove(struct snd_soc_codec *codec)
{
struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec);
struct ldo_regulator *ldo = sgtl5000->ldo;
if (!ldo)
return 0;
regulator_unregister(ldo->dev);
kfree(ldo->desc.name);
kfree(ldo);
return 0;
}Thanks,
Ingo
Quoted 2 lines · Ingo Molnar
Btw.,
ldo_regulator_remove()returns an int, but none of the call sites make use of the return value. Also,ldo_regulator_remove()can only ever return 0.
Yup, the return value is a complete waste of time. But that's a separate issue and a separate patch if someone wants to spend the time on the driver.
Quoted 4 lines
More importantly, it would be cleaner to wrap the !regulator case by making
sgtl5000->ldoNULL (this should already be the case) and makingregulator_unregister()available in the !REGULATOR case as well, as an inline stub.
Yeah, though I'm a bit ambivalent on stubbing only one half of the pair it'd not be a real problem. And obviously there's a trivial text size saving from compling out the unregistration code entirely. Separate patch again, though.