Julia Lawall [Fri, 14 Nov 2008 18:08:18 +0000 (19:08 +0100)]
ALSA: sound/pci/pcxhr/pcxhr.c: introduce missing kfree and pci_disable_device
Error handling code following a kzalloc should free the allocated data.
The error handling code is adjusted to call pci_disable_device(pci); as
well, as done later in the function
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,l;
position p1,p2;
expression *ptr != NULL;
@@
(
if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
|
x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
)
<... when != x
when != if (...) { <+...x...+> }
x->f = E
...>
(
return \(0\|<+...x...+>\|ptr\);
|
return@p2 ...;
)
Tim Blechmann [Sat, 8 Nov 2008 13:42:18 +0000 (14:42 +0100)]
ALSA: hdsp: check for iobox and upload firmware during ioctl
currently, the error message when trying to run hdspmixer or hdspconf
if the breakout box is not connected is somehow misleading, since it
asks the user to upload the firmware.
this patch adds a test, whether the breakout box is connected and
tries to upload the firmware in the case, that it is not present, e.g.
because of power failures of the breakout box.
[Minor coding-style fixes by tiwai]
Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tim Blechmann [Sun, 9 Nov 2008 11:50:52 +0000 (12:50 +0100)]
ALSA: HDSP: check for io box before uploading firmware
currently the hdsp driver tries to upload the firmware, even if the
io box is not connected. this patch adds a check for the io box
before trying to upload the firmware.
thus instead of messages complaining about the fifo status and firmware
loading failure, the driver gives a message that no multiface or
digiface is connected.
[A minor coding-style fix by tiwai]
Signed-off-by: Tim Blechmann <tim@klingt.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Andrew Morton [Thu, 6 Nov 2008 20:05:21 +0000 (12:05 -0800)]
alsa: fix snd_BUG_on() and friends
sound/pci/pcxhr/pcxhr_core.c: In function 'pcxhr_set_pipe_cmd_params':
sound/pci/pcxhr/pcxhr_core.c:700: warning: statement with no effect
sound/pci/pcxhr/pcxhr_core.c:706: warning: statement with no effect
sound/pci/pcxhr/pcxhr_core.c:710: warning: statement with no effect
Due to
try to fix this, and be more conventional about the empty stubs.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Wed, 22 Oct 2008 12:27:49 +0000 (13:27 +0100)]
ALSA: Ensure PXA runtime data is initialised
The rest of the code relies on the runtime data being zero initialised
so we need to use kzalloc() to allocate it.
Reported-by: Oliver Ford <ipaqlinux@oliford.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Randy Dunlap [Wed, 15 Oct 2008 21:38:40 +0000 (14:38 -0700)]
ALSA: kernel docs: fix sound/core/ kernel-doc
Add kernel-doc function short descriptions to sound/core functions that
are missing this short description. Mostly this involves moving some of
the function description onto the @funcname line.
Also correct a few variable names and fix other kernel-doc notation.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Wed, 15 Oct 2008 16:07:47 +0000 (17:07 +0100)]
ALSA: Handle NULL jacks in snd_jack_report()
Facilitate drivers that wish to carry on if they can't create a jack
input device by handling attempts to report the state of a NULL jack,
removing the need to check for initialisation before use.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Marc Zyngier [Tue, 14 Oct 2008 08:57:05 +0000 (09:57 +0100)]
ALSA: Fix pxa2xx-ac97-lib.c compilation
The last ALSA merge broke pxa2xx-ac97-lib.c, as it brought back
references to cpu_is_pxa21x that Eric Miao removed in commit 0ffcbfd54ea81ca24c0749f55ca4fcf3e2bdc23e:
[ARM] pxa: make cpu_is_pxa2* macros more consistent
This patch gets rid of those references, and only keeps cpu_is_pxa25x().
Signed-off-by: Marc Zyngier <maz@misterjones.org> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jonas Bonn [Wed, 1 Oct 2008 19:47:19 +0000 (21:47 +0200)]
ALSA: ASoC: Drop device registration from GTA01 lm4857 driver
Device registration should be handled at the machine level and not
in the driver code itself. This patch removes the device registration
from the driver code in preparation for moving it to the machine
definition.
[Squashed down two parts to this patch for bisectability - there's also
a third part adding registration of the device to the out of tree GTA01
machine driver -- broonie]
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jonas Bonn [Wed, 1 Oct 2008 17:17:12 +0000 (18:17 +0100)]
ALSA: ASoC: Add widgets before setting endpoints on GTA01
This prevents error messages at startup where the endpoints are being
set before the widgets/controls have even been added.
Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Thu, 9 Oct 2008 12:57:21 +0000 (15:57 +0300)]
ALSA: ASoC: OMAP: Set DMA stream name at runtime in McBSP DAI driver
This suits better when adding support for multiple links and different
link formats.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Thu, 9 Oct 2008 12:57:20 +0000 (15:57 +0300)]
ALSA: ASoC: OMAP: Add support for OMAP2430 and OMAP34xx in McBSP DAI driver
Thanks to Arun KS <arunks@mistralsolutions.com> for fixing one typo in
original version of this patch.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Thu, 9 Oct 2008 12:57:22 +0000 (15:57 +0300)]
ALSA: ASoC: OMAP: Add multilink support to McBSP DAI driver
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Fri, 10 Oct 2008 11:32:16 +0000 (12:32 +0100)]
ALSA: ASoC: Make TLV320AIC26 user-visible
The TLV320AIC26 Kconfig option is unusual in that it supports the
OpenFirmware machine driver which doesn't have a hard binding to the
codec driver but discovers the codec via the device tree. This makes it
meaningful to select the codec without a machine driver.
Ideally there would be a proxy entry so that this option was only
visible on OpenFirmware systems.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Tue, 7 Oct 2008 15:13:50 +0000 (16:13 +0100)]
ALSA: ASoC: Make WM8510 microphone input a DAPM mixer
The WM8510 microphone input PGA was represented as a DAPM PGA but in
DAPM terms the functionality is that of a mixer since it takes three
switchable inputs and produces one output. Representing it as an input
was causing its controls to be misinterpreted as gain controls and
would cause some required DAPM updates to be missed.
Reported-by: Jukka Hynninen <ext-jukka.hynninen@vaisala.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Tue, 7 Oct 2008 12:04:58 +0000 (13:04 +0100)]
ALSA: ASoC: Implement WM8510 bias level control
The WM8510 bias level configuration blindly overwrites the power
management registers, interfering with the operation of DAPM.
Only adjust the specific bits required, implementing use of the VMID
resistor string configuration control as we go.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Tue, 7 Oct 2008 11:49:22 +0000 (14:49 +0300)]
ALSA: ASoC: Remove unused AUDIO_NAME define from codec drivers
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jarkko Nikula [Tue, 7 Oct 2008 11:49:23 +0000 (14:49 +0300)]
ALSA: ASoC: tlv320aic3x: Use uniform tlv320aic naming
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Tue, 7 Oct 2008 10:56:20 +0000 (11:56 +0100)]
ALSA: ASoC: Add WM8510 SPI support
Implement SPI support for WM8510, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Mon, 6 Oct 2008 15:54:34 +0000 (16:54 +0100)]
ALSA: ASoC: Add WM8753 SPI support
Implement SPI support for WM8753, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Frank Mandarino [Tue, 30 Sep 2008 14:42:40 +0000 (10:42 -0400)]
ALSA: ASoC: Remove references to Endrelia ETI-B1 board
The ASoC machine drivers for this board were only provided as examples
for the new AT91 ASoC platform driver. Since the ETI-B1 board is
proprietary and there are other AT91 ASoC machine drivers available,
it makes sense to remove these drivers.
Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Wed, 24 Sep 2008 10:23:11 +0000 (11:23 +0100)]
ALSA: ASoC: Allow machine drivers to mark pins as not connected
Add a new API call snd_soc_dapm_nc_pin() which allows machine drivers to
mark pins as being permanently disabled. At present this is identical
to snd_soc_dapm_disable_pin() except in terms of improving the internal
documentation of machine drivers that use it. The intention is that in
future it will be extended to provide additional features such as hiding
controls that are only relevant to paths using the disconnected pin.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Wed, 8 Oct 2008 12:02:20 +0000 (13:02 +0100)]
ALSA: ASoC: Check for machine type in GTA01 machine driver
Since there are now multiple OpenMoko platforms it is more important to
check that the machine driver is running on the correct system. This
was orgininally generated as part of the initial GTA02 machine port.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk
The MIDI interfaces have to be detected dynamically for Edirol devices
ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by
my other patch in uaxx-quirk.
Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Tue, 7 Oct 2008 14:13:59 +0000 (16:13 +0200)]
ALSA: Add a note on dependency of RTC stuff
Added a note on the dependency of old RTC stuff, which is exclusive
with the new RTC class drivers.
http://bugme.linux-foundation.org/show_bug.cgi?id=11430
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Richard Zhao [Tue, 7 Oct 2008 00:05:20 +0000 (08:05 +0800)]
ALSA: ASoC: add new param mux to dapm_mux_update_power
Function dapm_mux_update_power needs enum index mux and register mask value val
as parameters, but it only has a parameter val, and uses it as both val and mux.
snd_soc_test_bits(widget->codec, e->reg, mask, val) val is register mask here,
e->texts[val] but val should be enum index mux here.
This patch adds a new param mux to fix it.
Signed-off-by: Richard Zhao <linuxzsc@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Tue, 7 Oct 2008 09:38:09 +0000 (11:38 +0200)]
ALSA: Increase components array size
Increase the card components[] (and thus snd_card_info.components[],
too) array size from 80 to 128 chars so that more strings can be
stored. The 80 chars aren't enough for more than 2 HD-audio codecs,
and this hits an ugly snd_BUG() as reported by Wu Fegguang for HP
2230s.
The control protocol number is increased to 2.0.6 as well, in case
it matters.
Reported-by: Wu Fengguang <wfg@linux.intel.com> Acked-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Mark Brown [Mon, 6 Oct 2008 10:33:21 +0000 (11:33 +0100)]
ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver
Mic PGA Switch should be inverted in the WM8510 driver but isn't.
Reported-by: ext-jukka.hynninen@vaisala.com Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ALSA: snd-usb-audio: support for Edirol UA-4FX device
Renamed the old quirk function for ua-700/ua-25 to become more
generic, moving the MIDI interfaces to the quirk data header.
Added a new quirk for the Edirol UA-4FX.
Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Takashi Iwai [Thu, 2 Oct 2008 12:50:22 +0000 (14:50 +0200)]
ALSA: usb - Fix possible Oops at USB-MIDI disconnection
The endpoints should be released immediately at disconnection
rather than the delayed release. This could be a reason of Oops
at USB-audio device disconnection being used.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ALSA: hda: add more board-specific information for Realtek ALC662 rev1
I recently got a chance to play with two boards with ALC662 rev1:
* BIOSTAR TA780G M2+
* ASROCK K10N78FullHD-hSLI R3.0
Both use 3 stack, 6ch mode with digital out. Since autodetection isn't able
to figure that out from BIOS, we need to specify that manually.
ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards
This patch adds PCI IDs for:
* TerraTec DMX XFire 1024
* Hercules Gamesurround Fortissimo II
* Hercules Gamesurround Fortissimo III 7.1
All those cards were supported as generic CS46xx device,
so they will work as before. I'm pretty sure that first two
cards work, as they have same hardware design as reference
card. Not sure about Fortissimo III, but this won't break it
if it worked.
The test (ssc != NULL) can only be reached if the call to the function
ssc_request, the result of which ssc is assigned, succeeds. Moreover,
two statements assign NULL to ssc just before a return, which is useless
since it is a local variable. So, we suggest to delete the test and
the two assignments.
A simplified version of the semantic match that finds this problem is
as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@bad_null_test@
expression x,E;
@@
x = ssc_request(...)
... when != x = E
* x != NULL
// </smpl>
Signed-off-by: Julien Brunel <brunel@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Wei Ni [Fri, 26 Sep 2008 05:55:56 +0000 (13:55 +0800)]
ALSA: Fix for reading RIRB buffer on NVIDIA aza controller with AMD Phenom cpu
When read RIRB buffer immediately after RIRB interrupt received,
sometimes the data will be "0x0". If we wait for some time, the data
in buffer will be correct. This issue only occurred with AMD Phenom cpu.
So we set this "needs_damn_long_delay" flag.
Signed-off-by: Wei Ni <wni@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ALSA: hda - Fix / clean-up slave digital out codes
The recent slave_dig_out addition has some rooms to clean up.
Also it doesn't call snd_hda_cleanup_stream() properly for slaves
at closing. The patch fixes both issues.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Matthew Ranostay [Thu, 25 Sep 2008 13:17:11 +0000 (09:17 -0400)]
ALSA: hda: slave_dig_outs code block in wrong location
Removed invalid references to slave_dig_outs inside the S/PDIF IN capture switch
control. Beforehand this was basically a mute switch for the S/PDIF outs as well.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
We have some arithmetic operations against snd_pcm_hw_param_t, thus
bitwise isn't correct for it. Better to remove the flag to shut up
sparse warnings.
Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Matthew Ranostay [Wed, 24 Sep 2008 01:46:30 +0000 (21:46 -0400)]
ALSA: hda: use last DAC defined for hp_pin
Patch allows the last DAC in the dac_nids for the hp_nid if there is an
available one this isn't in use by a line_out entry or if hp_nid isn't already
defined. This solves the issues with the 'Headphone Playback' mixer
controls on the 92hd73xxx branch and possibly others.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Clemens Ladisch [Wed, 24 Sep 2008 13:25:28 +0000 (15:25 +0200)]
ALSA: oxygen: wait for ACK when resetting UART
After sending a reset command to the UART, wait some time for the ACK to
be generated (and to be read and dropped by the interrupt handler)
before sending the next command.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Jean Delvare [Mon, 22 Sep 2008 12:15:53 +0000 (14:15 +0200)]
ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)
Convert the tlv320aic3x codec driver to the new (standard) device
driver binding model.
Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Vladimir Barinov <vbarinov@ru.mvista.com> Tested-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ALSA: hda - Fix ALC662 DAC mixer mutes also for auto config model
In previous change "[ALSA] hda-codec - Fix ALC662 DAC mixer mutes", I
missed to fix the mixer mute switches also for the auto config model of
ALC662. Now mute for mixer items "Front", "Surround", "Center" and "LFE"
when available will work too with "auto" model.
Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Matthew Ranostay [Tue, 16 Sep 2008 14:39:37 +0000 (10:39 -0400)]
ALSA: hda: SPDIF mux fixes for STAC927x
Corrected bounds-checking in stac92xx_auto_create_mux_input_ctls() and added a spec->spdif_labels
pointer for custom SPDIF mux labels for non-standard codec connections.
Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Mark Brown [Tue, 16 Sep 2008 11:51:26 +0000 (12:51 +0100)]
sound: ASoC: Add WM8750 SPI support
Implement SPI support for WM8750, cut'n'pasting from the support for
WM8731 contributed by Cliff Cai and Alan Horstmann since the wire format
is the same for both codecs.
Also fix a cut'n'pasted comment in the I2C side of the driver (which was
clearly written in the same way) while we're at it.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Mark Brown [Mon, 15 Sep 2008 14:51:13 +0000 (15:51 +0100)]
sound: ASoC: DAPM support for ADC on WM9713 PCM interface
The stereo ADC in the WM9713 can be used to produce data for both the
standard AC97 interface and the additional voice PCM interface. Support
use on both by defining virtual ADCs tied to each accepting the output
from the actual ADCs.
Reported-by: Rodolfo Giometti <giometti@enneenne.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Harald Welte [Mon, 15 Sep 2008 14:43:23 +0000 (22:43 +0800)]
ALSA: HDA VIA: Replace buggy Mic Boost
VT1708S' Mic Boost should be hidden in hardware design according to some
customers' requirements. However, in case of bugs, it has to be exhibited to
normal users, so we need to:
* open a software backdoor, which is disabled by default in hardware
* re-write .tlv & .info, to indicate the actual necessary info, which we cannot
get from amplifier's capabiliies
Signed-off-by: Logan Li <LoganLi@viatech.com.cn> Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>