Takashi Iwai [Thu, 30 Sep 2010 05:32:28 +0000 (07:32 +0200)]
Merge branch 'topic/asoc' into for-next
Mark Brown [Tue, 28 Sep 2010 23:01:20 +0000 (16:01 -0700)]
ASoC: Initial WM8962 IRQ support
Provide an initial hookup for interrupts on the WM8962. Currently we simply
report error status via log messages if an IRQ is provided for the device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 19:36:19 +0000 (20:36 +0100)]
ASoC: Lowercase WM8962 CODEC name
For consistency.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 28 Sep 2010 00:20:11 +0000 (17:20 -0700)]
ASoC: Fix masking of WM8962 FLL1 register
When configuring the FLL we preserve the FLL enable configuration in order
to allow us to reenable the FLL after configuration but we do not clear
the other bits in the register, causing old configuration to be preserved.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Mon, 27 Sep 2010 10:16:30 +0000 (11:16 +0100)]
ASoC: WM8985: Use the correct macro for the kcontrol defined
Since we are using custom get/put handlers
use SOC_ENUM_SINGLE_EXT_DECL instead of the original SOC_ENUM_SINGLE_DECL
macro.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Tue, 28 Sep 2010 20:33:27 +0000 (22:33 +0200)]
Merge branch 'topic/hda' into for-next
Luke Yelavich [Tue, 28 Sep 2010 02:04:06 +0000 (12:04 +1000)]
ALSA: hda - Add quirk for another Acer laptop with a CX20585 codec
BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/647374
Set another Acer laptop (SSID 1025:043d) to use CXT5066_IDEAPAD
Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 28 Sep 2010 19:35:34 +0000 (21:35 +0200)]
Merge branch 'fix/misc' into for-next
Dan Rosenberg [Tue, 28 Sep 2010 18:18:20 +0000 (14:18 -0400)]
ALSA: prevent heap corruption in snd_ctl_new()
The snd_ctl_new() function in sound/core/control.c allocates space for a
snd_kcontrol struct by performing arithmetic operations on a
user-provided size without checking for integer overflow. If a user
provides a large enough size, an overflow will occur, the allocated
chunk will be too small, and a second user-influenced value will be
written repeatedly past the bounds of this chunk. This code is
reachable by unprivileged users who have permission to open
a /dev/snd/controlC* device (on many distros, this is group "audio") via
the SNDRV_CTL_IOCTL_ELEM_ADD and SNDRV_CTL_IOCTL_ELEM_REPLACE ioctls.
Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 27 Sep 2010 06:18:55 +0000 (08:18 +0200)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Mon, 27 Sep 2010 06:13:25 +0000 (08:13 +0200)]
ASoC: Fix a compile warning for printk format
sound/soc/codecs/wm8985.c: In function 'wm8985_hw_params':
sound/soc/codecs/wm8985.c:731:2: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
Actually the variable is fine as int.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 27 Sep 2010 05:59:08 +0000 (07:59 +0200)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Mon, 27 Sep 2010 05:57:57 +0000 (07:57 +0200)]
Merge branch 'topic/hda' into for-next
Otavio Salvador [Mon, 27 Sep 2010 02:35:06 +0000 (23:35 -0300)]
ALSA: hda: add Vortex86MX PCI ids
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Sat, 25 Sep 2010 15:46:41 +0000 (17:46 +0200)]
Merge branch 'fix/misc' into for-next
Dan Rosenberg [Sat, 25 Sep 2010 15:07:27 +0000 (11:07 -0400)]
ALSA: sound/pci/rme9652: prevent reading uninitialized stack memory
The SNDRV_HDSP_IOCTL_GET_CONFIG_INFO and
SNDRV_HDSP_IOCTL_GET_CONFIG_INFO ioctls in hdspm.c and hdsp.c allow
unprivileged users to read uninitialized kernel stack memory, because
several fields of the hdsp{m}_config_info structs declared on the stack
are not altered or zeroed before being copied back to the user. This
patch takes care of it.
Signed-off-by: Dan Rosenberg <dan.j.rosenberg@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Sat, 25 Sep 2010 08:15:39 +0000 (09:15 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Fri, 24 Sep 2010 09:50:46 +0000 (10:50 +0100)]
ASoC: Add Jassi Brar as Samsung maintainer
Since Jassi is doing so much good work and can offer such good review
for the Samsung CPU support add an entry for the Samsung ASoC drivers
to MAINTAINERS listing him.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Sat, 25 Sep 2010 07:13:06 +0000 (09:13 +0200)]
Merge branch 'topic/hda' into for-next
Vitaliy Kulikov [Fri, 24 Sep 2010 21:21:53 +0000 (16:21 -0500)]
ALSA: hda - Fix switching between dmic and mic using the same mux on IDT/STAC
Fix bug in switching between dmic and mic when both use the same mux.
Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Dimitris Papastamos [Fri, 24 Sep 2010 12:02:07 +0000 (13:02 +0100)]
ASoC: WM8985: Remove unneeded declaration.
We are not using the private data in this function, so get rid of it.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Thu, 23 Sep 2010 18:43:07 +0000 (19:43 +0100)]
ASoC: Clean up AC'97 glue driver
Remove version number and clean up some indentation.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 16:41:46 +0000 (17:41 +0100)]
ASoC: Add debug logging for s3c-ac97 resets
Helps tracing errors further up the stack.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 15:48:54 +0000 (16:48 +0100)]
ASoC: Convert s3c-ac97 to pr_() macros
Could use dev_() but we'd have to remember the struct device somewhere
and it wouldn't make the logging clearer.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 14:28:14 +0000 (15:28 +0100)]
ASoC: Clean up the CODEC device as well as the board for SMDK WM9713
Otherwise we try to re-register the CODEC device if the module is reloaded
and sysfs becomes miserable.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 22 Sep 2010 18:44:13 +0000 (19:44 +0100)]
ASoC: Clarify naming for SMDK WM9713 driver
At least some of the systems using this device have multiple audio
subsystems so provide some guidance to userspace about which one this
is.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 22 Sep 2010 18:43:30 +0000 (19:43 +0100)]
ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Fri, 24 Sep 2010 07:12:21 +0000 (09:12 +0200)]
Merge branch 'fix/hda' into topic/hda
Takashi Iwai [Fri, 24 Sep 2010 07:12:14 +0000 (09:12 +0200)]
Merge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 24 Sep 2010 07:09:42 +0000 (09:09 +0200)]
ALSA: hda - Fix auto-parse of SPDIF input of Realtek codecs
The SPDIF in audio widget must be searched through the list as the widget
that contains the given pin as the connection source. The current code
was implemented in a reverse way.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Dimitris Papastamos [Wed, 22 Sep 2010 15:16:06 +0000 (16:16 +0100)]
ASoC: Fix incorrect parameter to snd_soc_codec_volatile_register
We need to pass the register index and not the register value.
This patch depends on my previous patch "ASoC: Delegate to hw
specific read for volatile registers".
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Wed, 22 Sep 2010 12:25:47 +0000 (13:25 +0100)]
ASoC: Delegate to hw specific read for volatile registers
Ensure that reads on volatile registers will correctly delegate
to the bus specific read function.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Thu, 23 Sep 2010 17:42:28 +0000 (19:42 +0200)]
Merge branch 'topic/hda' into for-next
Vince Weaver [Wed, 22 Sep 2010 21:31:37 +0000 (17:31 -0400)]
ALSA: hda - MacBookPro 5,3 line-in support
I've found the following patch is necessary to enable line-in on
my MacBookPro 5,3 machine. With the patch applied I've successfully
recorded audio from the line-in jack. This is based on the existing
5,5 support.
Signed-off-by: Vince Weaver <vweaver1@eecs.utk.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Sep 2010 06:12:35 +0000 (08:12 +0200)]
Merge branch 'topic/misc' into for-next
John Kacur [Wed, 22 Sep 2010 11:47:01 +0000 (13:47 +0200)]
SOUND-OSS: Remove sh_dac_audio
Remove the SH DAC oss driver since there is an equivalent alsa driver.
oss has been deprecated for years. Furthermore this driver has BKL code
which we are trying to remove. Rather than attempt to fix this, simply
remove the driver.
Signed-off-by: John Kacur <jkacur@redhat.com>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Sep 2010 05:45:21 +0000 (07:45 +0200)]
Merge branch 'topic/asoc' into for-next
Takashi Iwai [Thu, 23 Sep 2010 05:40:16 +0000 (07:40 +0200)]
ASoC: adapt multi-componentism again
Go back to the new world order.
(Also fixed indentation.)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Sep 2010 05:31:27 +0000 (07:31 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Takashi Iwai [Wed, 22 Sep 2010 18:48:15 +0000 (20:48 +0200)]
Merge branch 'fix/asoc' into for-next
Mark Brown [Wed, 22 Sep 2010 17:47:40 +0000 (18:47 +0100)]
ASoC: Fix multi-componentism
Spot the build testing.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Tue, 21 Sep 2010 16:04:07 +0000 (17:04 +0100)]
ASoC: Return -1 instead of -EINVAL to ensure consistency
The code can't really cope with I/O errors, so it would be better
to be consistent throughout all cache functions and return -1 instead
of -EINVAL.
The return value of snd_soc_read(...) is mostly checked in the probe
function and nowhere else.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 21 Sep 2010 14:09:37 +0000 (15:09 +0100)]
ASoC: Report error codes for card DAI instantiation failures
Also clean up the error print a bit.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Wed, 22 Sep 2010 14:23:03 +0000 (16:23 +0200)]
Merge branch 'topic/asoc' into for-next
Mark Brown [Wed, 22 Sep 2010 11:19:07 +0000 (12:19 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37
Mark Brown [Wed, 22 Sep 2010 11:03:28 +0000 (12:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
Dimitris Papastamos [Tue, 21 Sep 2010 14:03:26 +0000 (15:03 +0100)]
ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Wed, 22 Sep 2010 08:04:37 +0000 (10:04 +0200)]
Merge branch 'topic/misc' into for-next
Takashi Iwai [Wed, 22 Sep 2010 08:04:35 +0000 (10:04 +0200)]
Merge branch 'fix/misc' into for-next
Erik J. Staab [Wed, 22 Sep 2010 09:07:41 +0000 (11:07 +0200)]
ALSA: oxygen: fix analog capture on Claro halo cards
On the HT-Omega Claro halo card, the ADC data must be captured from the
second I2S input. Using the default first input, which isn't connected
to anything, would result in silence.
Signed-off-by: Erik J. Staab <ejs@insightbb.com>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Wed, 22 Sep 2010 08:03:28 +0000 (10:03 +0200)]
Merge remote branch 'alsa/devel' into topic/misc
Dimitris Papastamos [Tue, 21 Sep 2010 13:12:35 +0000 (14:12 +0100)]
ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Tue, 21 Sep 2010 12:36:49 +0000 (15:36 +0300)]
ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link
rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first
assignement from dai_link->stream_name since then there won't be sysfs name
changes and usually dai_link->name seems to fit anyway better for a sysfs
directory name.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Tue, 21 Sep 2010 15:43:01 +0000 (17:43 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 21 Sep 2010 15:38:14 +0000 (17:38 +0200)]
ALSA: hda - Apply ALC269 VAIO fix-up to all Sony laptops with ALC269
We've applied a fix-up for ALC269 VAIO only for two models. But all
Sony VAIO models with ALC269 codec seem to require the similar fix.
Let's apply it with vendor-id mask.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 21 Sep 2010 15:40:48 +0000 (17:40 +0200)]
Merge branch 'fix/hda' into topic/hda
Takashi Iwai [Tue, 21 Sep 2010 09:27:39 +0000 (11:27 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 21 Sep 2010 09:26:21 +0000 (11:26 +0200)]
ALSA: hda - Check invalid NIDs in alc_init_jacks()
The headphone and external-mic pin NIDs can be null, and the jack input
elements should be skipped in such a case.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Mon, 20 Sep 2010 18:17:44 +0000 (19:17 +0100)]
ASoC: Fix merge issue with WM8962 control addition
Let's not add the core controls twice.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 18:03:28 +0000 (19:03 +0100)]
ASoC: Report error code when failing to add controls
Helps with diagnostics.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 16:54:57 +0000 (17:54 +0100)]
ASoC: Prototype s3c64xx_i2s_get_clock()
So machine drivers can see the declaration.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Tue, 21 Sep 2010 08:08:07 +0000 (10:08 +0200)]
Merge branch 'fix/hda' into for-next
Luke Yelavich [Tue, 21 Sep 2010 07:05:46 +0000 (17:05 +1000)]
ALSA: hda - Add Dell Latitude E6400 model quirk
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/643891
Set the Dell Latitude E6400 (1028:0233) SSID to use AD1984_DELL_DESKTOP
Cc: stable@kernel.org
Signed-off-by: Luke Yelavich <luke.yelavich@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Tue, 21 Sep 2010 08:00:47 +0000 (10:00 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 21 Sep 2010 07:57:06 +0000 (09:57 +0200)]
ALSA: hda - Introduce hda_call_check_power_status() helper
Replace the explicit ifdef check and call of check_power_status ops with
a new helper function, hda_call_check_power_status().
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jerry Zhou [Tue, 21 Sep 2010 06:44:51 +0000 (14:44 +0800)]
ALSA: hdmi - fix surround41 channel mapping
Channel 2 and channel 3 were all wrongly mapped to HDMI slot 4.
This shows up as a bug that one channel is "lost" when playing in
surround41 mode.
Signed-off-by: Jerry Zhou <jerry.zhou@intel.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Wu Fengguang [Tue, 21 Sep 2010 06:25:49 +0000 (14:25 +0800)]
ALSA: hdmi - support infoframe for DisplayPort
DisplayPort works mostly in the same way as HDMI, except that it expects
a slightly different audio infoframe format.
Citations from "HDA036-A: Display Port Support and HDMI Miscellaneous
Corrections":
The HDMI specification defines a data island packet with a header of 4
bytes (3 bytes content + 1 byte ECC) and packet body of 32 bytes (28
bytes content and 4 bytes ECC). Display Port specification on the other
hand defines a data island packet (secondary data packet) with header of
4 bytes protected by 4 bytes of parity, and data of theoretically up to
1024 bytes with each 16 bytes chunk of data protected by 4 bytes of
parity. Note that the ECC or parity bytes are not present in the DIP
content populated by software and are hardware generated.
It tests DP connection based on the ELD conn_type field, which will be
set by the graphics driver and can be overriden manually by users
through the /proc/asound/card0/eld* interface.
The DP infoframe is tested OK on Intel SandyBridge/CougarPoint platform.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Linus Torvalds [Mon, 20 Sep 2010 23:56:53 +0000 (16:56 -0700)]
Linux 2.6.36-rc5
Linus Torvalds [Mon, 20 Sep 2010 23:45:08 +0000 (16:45 -0700)]
Merge git://git./linux/kernel/git/gregkh/staging-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
Staging: vt6655: fix buffer overflow
Revert: "Staging: batman-adv: Adding netfilter-bridge hooks"
Linus Torvalds [Mon, 20 Sep 2010 23:44:40 +0000 (16:44 -0700)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: musb: MAINTAINERS: Fix my mail address
USB: serial/mos*: prevent reading uninitialized stack memory
USB: otg: twl4030: fix phy initialization(v1)
USB: EHCI: Disable langwell/penwell LPM capability
usb: musb_debugfs: don't use the struct file private_data field with seq_files
Linus Torvalds [Mon, 20 Sep 2010 23:44:24 +0000 (16:44 -0700)]
Merge git://git./linux/kernel/git/gregkh/tty-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
serial: mfd: fix bug in serial_hsu_remove()
serial: amba-pl010: fix set_ldisc
Dan Carpenter [Mon, 6 Sep 2010 12:32:30 +0000 (14:32 +0200)]
Staging: vt6655: fix buffer overflow
"param->u.wpa_associate.wpa_ie_len" comes from the user. We should
check it so that the copy_from_user() doesn't overflow the buffer.
Also further down in the function, we assume that if
"param->u.wpa_associate.wpa_ie_len" is set then "abyWPAIE[0]" is
initialized. To make that work, I changed the test here to say that if
"wpa_ie_len" is set then "wpa_ie" has to be a valid pointer or we return
-EINVAL.
Oddly, we only use the first element of the abyWPAIE[] array. So I
suspect there may be some other issues in this function.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sven Eckelmann [Sat, 4 Sep 2010 23:58:18 +0000 (01:58 +0200)]
Revert: "Staging: batman-adv: Adding netfilter-bridge hooks"
This reverts commit
96d592ed599434d2d5f339a1d282871bc6377d2c.
The netfilter hook seems to be misused and may leak skbs in situations
when NF_HOOK returns NF_STOLEN. It may not filter everything as
expected. Also the ethernet bridge tables are not yet capable to
understand batman-adv packet correctly.
It was only added for testing purposes and can be removed again.
Reported-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Feng Tang [Mon, 6 Sep 2010 12:41:02 +0000 (13:41 +0100)]
serial: mfd: fix bug in serial_hsu_remove()
Medfield HSU driver deal with 4 pci devices(3 uart ports + 1 dma controller),
so in pci remove func, we need handle them differently
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mika Westerberg [Sat, 4 Sep 2010 07:23:23 +0000 (10:23 +0300)]
serial: amba-pl010: fix set_ldisc
Commit
d87d9b7d1 ("tty: serial - fix tty referencing in set_ldisc") changed
set_ldisc to take ldisc number as parameter. This patch fixes AMBA PL010 driver
according the new prototype.
Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Felipe Balbi [Thu, 9 Sep 2010 06:04:25 +0000 (09:04 +0300)]
USB: musb: MAINTAINERS: Fix my mail address
If we don't, contributors to musb and any USB OMAP
code will be sending mails to an unexistent inbox.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Dan Rosenberg [Wed, 15 Sep 2010 21:44:16 +0000 (17:44 -0400)]
USB: serial/mos*: prevent reading uninitialized stack memory
The TIOCGICOUNT device ioctl in both mos7720.c and mos7840.c allows
unprivileged users to read uninitialized stack memory, because the
"reserved" member of the serial_icounter_struct struct declared on the
stack is not altered or zeroed before being copied back to the user.
This patch takes care of it.
Signed-off-by: Dan Rosenberg <dan.j.rosenberg@gmail.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ming Lei [Mon, 6 Sep 2010 15:27:09 +0000 (23:27 +0800)]
USB: otg: twl4030: fix phy initialization(v1)
Commit
461c317705eca5cac09a360f488715927fd0a927(into 2.6.36-v3)
is put forward to power down phy if no usb cable is connected,
but does introduce the two issues below:
1), phy is not into work state if usb cable is connected
with PC during poweron, so musb device mode is not usable
in such case, follows the reasons:
-twl4030_phy_resume is not called, so
regulators are not enabled
i2c access are not enabled
usb mode not configurated
2), The kernel warings[1] of regulators 'unbalanced disables'
is caused if poweron without usb cable connected
with PC or b-device.
This patch fixes the two issues above:
-power down phy only if no usb cable is connected with PC
and b-device
-do phy initialization(via __twl4030_phy_resume) if usb cable
is connected with PC(vbus event) or another b-device(ID event) in
twl4030_usb_probe.
This patch also doesn't put VUSB3V1 LDO into active mode in
twl4030_usb_ldo_init until VBUS/ID change detected, so we can
save more power consumption than before.
This patch is verified OK on Beagle board either connected with
usb cable or not when poweron.
[1]. warnings of 'unbalanced disables' of regulators.
[root@OMAP3EVM /]# dmesg
------------[ cut here ]------------
WARNING: at drivers/regulator/core.c:1357 _regulator_disable+0x38/0x128()
unbalanced disables for VUSB1V8
Modules linked in:
Backtrace:
[<
c0030c48>] (dump_backtrace+0x0/0x110) from [<
c034f5a8>] (dump_stack+0x18/0x1c)
r7:
c78179d8 r6:
c01ed6b8 r5:
c0410822 r4:
0000054d
[<
c034f590>] (dump_stack+0x0/0x1c) from [<
c0057da8>] (warn_slowpath_common+0x54/0x6c)
[<
c0057d54>] (warn_slowpath_common+0x0/0x6c) from [<
c0057e64>] (warn_slowpath_fmt+0x38/0x40)
r9:
00000000 r8:
00000000 r7:
c78e6608 r6:
00000000 r5:
fffffffb
r4:
c78e6c00
[<
c0057e2c>] (warn_slowpath_fmt+0x0/0x40) from [<
c01ed6b8>] (_regulator_disable+0x38/0x128)
r3:
c0410e53 r2:
c0410ad5
[<
c01ed680>] (_regulator_disable+0x0/0x128) from [<
c01ed87c>] (regulator_disable+0x24/0x38)
r7:
c78e6608 r6:
00000000 r5:
c78e6c40 r4:
c78e6c00
[<
c01ed858>] (regulator_disable+0x0/0x38) from [<
c02382dc>] (twl4030_phy_power+0x15c/0x17c)
r5:
c78595c0 r4:
00000000
[<
c0238180>] (twl4030_phy_power+0x0/0x17c) from [<
c023831c>] (twl4030_phy_suspend+0x20/0x2c)
r6:
00000000 r5:
c78595c0 r4:
c78595c0
[<
c02382fc>] (twl4030_phy_suspend+0x0/0x2c) from [<
c0238638>] (twl4030_usb_irq+0x11c/0x16c)
r5:
c78595c0 r4:
00000040
[<
c023851c>] (twl4030_usb_irq+0x0/0x16c) from [<
c034ec18>] (twl4030_usb_probe+0x2c4/0x32c)
r6:
00000000 r5:
00000000 r4:
c78595c0
[<
c034e954>] (twl4030_usb_probe+0x0/0x32c) from [<
c02152a0>] (platform_drv_probe+0x20/0x24)
r7:
00000000 r6:
c047d49c r5:
c78e6608 r4:
c047d49c
[<
c0215280>] (platform_drv_probe+0x0/0x24) from [<
c0214244>] (driver_probe_device+0xd0/0x190)
[<
c0214174>] (driver_probe_device+0x0/0x190) from [<
c02143d4>] (__device_attach+0x44/0x48)
r7:
00000000 r6:
c78e6608 r5:
c78e6608 r4:
c047d49c
[<
c0214390>] (__device_attach+0x0/0x48) from [<
c0213694>] (bus_for_each_drv+0x50/0x90)
r5:
c0214390 r4:
00000000
[<
c0213644>] (bus_for_each_drv+0x0/0x90) from [<
c0214474>] (device_attach+0x70/0x94)
r6:
c78e663c r5:
c78e6608 r4:
c78e6608
[<
c0214404>] (device_attach+0x0/0x94) from [<
c02134fc>] (bus_probe_device+0x2c/0x48)
r7:
00000000 r6:
00000002 r5:
c78e6608 r4:
c78e6600
[<
c02134d0>] (bus_probe_device+0x0/0x48) from [<
c0211e48>] (device_add+0x340/0x4b4)
[<
c0211b08>] (device_add+0x0/0x4b4) from [<
c021597c>] (platform_device_add+0x110/0x16c)
[<
c021586c>] (platform_device_add+0x0/0x16c) from [<
c0220cb0>] (add_numbered_child+0xd8/0x118)
r7:
00000000 r6:
c045f15c r5:
c78e6600 r4:
00000000
[<
c0220bd8>] (add_numbered_child+0x0/0x118) from [<
c001c618>] (twl_probe+0x3a4/0x72c)
[<
c001c274>] (twl_probe+0x0/0x72c) from [<
c02601ac>] (i2c_device_probe+0x7c/0xa4)
[<
c0260130>] (i2c_device_probe+0x0/0xa4) from [<
c0214244>] (driver_probe_device+0xd0/0x190)
r5:
c7856e20 r4:
c047c860
[<
c0214174>] (driver_probe_device+0x0/0x190) from [<
c02143d4>] (__device_attach+0x44/0x48)
r7:
c7856e04 r6:
c7856e20 r5:
c7856e20 r4:
c047c860
[<
c0214390>] (__device_attach+0x0/0x48) from [<
c0213694>] (bus_for_each_drv+0x50/0x90)
r5:
c0214390 r4:
00000000
[<
c0213644>] (bus_for_each_drv+0x0/0x90) from [<
c0214474>] (device_attach+0x70/0x94)
r6:
c7856e54 r5:
c7856e20 r4:
c7856e20
[<
c0214404>] (device_attach+0x0/0x94) from [<
c02134fc>] (bus_probe_device+0x2c/0x48)
r7:
c7856e04 r6:
c78fd048 r5:
c7856e20 r4:
c7856e20
[<
c02134d0>] (bus_probe_device+0x0/0x48) from [<
c0211e48>] (device_add+0x340/0x4b4)
[<
c0211b08>] (device_add+0x0/0x4b4) from [<
c0211fd8>] (device_register+0x1c/0x20)
[<
c0211fbc>] (device_register+0x0/0x20) from [<
c0260aa8>] (i2c_new_device+0xec/0x150)
r5:
c7856e00 r4:
c7856e20
[<
c02609bc>] (i2c_new_device+0x0/0x150) from [<
c0260dc0>] (i2c_register_adapter+0xa0/0x1c4)
r7:
00000000 r6:
c78fd078 r5:
c78fd048 r4:
c781d5c0
[<
c0260d20>] (i2c_register_adapter+0x0/0x1c4) from [<
c0260f80>] (i2c_add_numbered_adapter+0x9c/0xb4)
r7:
00000a28 r6:
c04600a8 r5:
c78fd048 r4:
00000000
[<
c0260ee4>] (i2c_add_numbered_adapter+0x0/0xb4) from [<
c034efa4>] (omap_i2c_probe+0x324/0x3e8)
r5:
00000000 r4:
c78fd000
[<
c034ec80>] (omap_i2c_probe+0x0/0x3e8) from [<
c02152a0>] (platform_drv_probe+0x20/0x24)
[<
c0215280>] (platform_drv_probe+0x0/0x24) from [<
c0214244>] (driver_probe_device+0xd0/0x190)
[<
c0214174>] (driver_probe_device+0x0/0x190) from [<
c021436c>] (__driver_attach+0x68/0x8c)
r7:
c78b2140 r6:
c047e214 r5:
c04600e4 r4:
c04600b0
[<
c0214304>] (__driver_attach+0x0/0x8c) from [<
c021399c>] (bus_for_each_dev+0x50/0x84)
r7:
c78b2140 r6:
c047e214 r5:
c0214304 r4:
00000000
[<
c021394c>] (bus_for_each_dev+0x0/0x84) from [<
c0214068>] (driver_attach+0x20/0x28)
r6:
c047e214 r5:
c047e214 r4:
c00270d0
[<
c0214048>] (driver_attach+0x0/0x28) from [<
c0213274>] (bus_add_driver+0xa8/0x228)
[<
c02131cc>] (bus_add_driver+0x0/0x228) from [<
c02146a4>] (driver_register+0xb0/0x13c)
[<
c02145f4>] (driver_register+0x0/0x13c) from [<
c0215744>] (platform_driver_register+0x4c/0x60)
r9:
00000000 r8:
c001f688 r7:
00000013 r6:
c005b6fc r5:
c00083dc
r4:
c00270d0
[<
c02156f8>] (platform_driver_register+0x0/0x60) from [<
c001f69c>] (omap_i2c_init_driver+0x14/0x1c)
[<
c001f688>] (omap_i2c_init_driver+0x0/0x1c) from [<
c002c460>] (do_one_initcall+0xd0/0x1a4)
[<
c002c390>] (do_one_initcall+0x0/0x1a4) from [<
c0008478>] (kernel_init+0x9c/0x154)
[<
c00083dc>] (kernel_init+0x0/0x154) from [<
c005b6fc>] (do_exit+0x0/0x688)
r5:
c00083dc r4:
00000000
---[ end trace
1b75b31a2719ed1d ]---
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Felipe Balbi <me@felipebalbi.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alek Du [Mon, 6 Sep 2010 13:50:57 +0000 (14:50 +0100)]
USB: EHCI: Disable langwell/penwell LPM capability
We have to do so due to HW limitation.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Mathias Nyman [Mon, 6 Sep 2010 10:52:01 +0000 (13:52 +0300)]
usb: musb_debugfs: don't use the struct file private_data field with seq_files
seq_files use the private_data field of a file struct for storing a seq_file structure,
data should be stored in seq_file's own private field (e.g. file->private_data->private)
Otherwise seq_release() will free the private data when the file is closed.
Signed-off-by: Mathias Nyman <mathias.nyman@nokia.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kuninori Morimoto [Fri, 17 Sep 2010 04:49:05 +0000 (13:49 +0900)]
ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl
Current FSI driver had data push/pop functions.
But the main operation of these 2 were very similar.
This mean it is possible to merge these to 1 function.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:45 +0000 (13:48 +0900)]
ASoC: fsi: modify variable name to easy to understand
Current FSI driver is using
data-length / width / number / offset for variables.
But it was a very confusing name.
This patch rename them to easy to understand,
and add new functions for it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 19 Sep 2010 15:07:06 +0000 (16:07 +0100)]
ASoC: Fix WM8978/migor driver name conflict
Standardise on 'wm8978' as the name for the CODEC.
Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Al Viro [Mon, 20 Sep 2010 14:13:25 +0000 (15:13 +0100)]
frv: double syscall restarts, syscall restart in sigreturn()
We need to make sure that only the first do_signal() to be handled on
the way out syscall will bother with syscall restarts; additionally, the
check on the "signal has user handler" path had been wrong - compare
with restart prevention in sigreturn()...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 20 Sep 2010 14:13:19 +0000 (15:13 +0100)]
frv: handling of restart into restart_syscall is fscked
do_signal() should place the syscall number in gr7, not gr8 when
handling ERESTART_WOULDBLOCK.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 20 Sep 2010 14:13:14 +0000 (15:13 +0100)]
frv: avoid infinite loop of SIGSEGV delivery
Use force_sigsegv() rather than force_sig(SIGSEGV, ...) as the former
resets the SEGV handler pointer which will kill the process, rather than
leaving it open to an infinite loop if the SEGV handler itself caused a
SEGV signal.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 20 Sep 2010 14:13:09 +0000 (15:13 +0100)]
frv: fix address verification holes in setup_frame/setup_rt_frame
a) sa_handler might be maliciously set to point to kernel memory;
blindly dereferencing it in FDPIC case is a Bad Idea(tm).
b) I'm not sure you need that set_fs(USER_DS) there at all, but if you
do, you'd better do it *before* checking the frame you've decided to
use with access_ok(), lest sigaltstack() becomes a convenient
roothole.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Al Viro [Mon, 20 Sep 2010 14:13:04 +0000 (15:13 +0100)]
frv: restart_block.fn needs to be reset on sigreturn
Reset restart_block.fn on executing a sigreturn such that any currently
pending system call restarts will be forced to return -EINTR.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Hugh Dickins [Mon, 20 Sep 2010 02:40:22 +0000 (19:40 -0700)]
mm: further fix swapin race condition
Commit
4969c1192d15 ("mm: fix swapin race condition") is now agreed to
be incomplete. There's a race, not very much less likely than the
original race envisaged, in which it is further necessary to check that
the swapcache page's swap has not changed.
Here's the reasoning: cast in terms of reuse_swap_page(), but probably
could be reformulated to rely on try_to_free_swap() instead, or on
swapoff+swapon.
A, faults into do_swap_page(): does page1 = lookup_swap_cache(swap1) and
comes through the lock_page(page1).
B, a racing thread of the same process, faults on the same address: does
page1 = lookup_swap_cache(swap1) and now waits in lock_page(page1), but
for whatever reason is unlucky not to get the lock any time soon.
A carries on through do_swap_page(), a write fault, but cannot reuse the
swap page1 (another reference to swap1). Unlocks the page1 (but B
doesn't get it yet), does COW in do_wp_page(), page2 now in that pte.
C, perhaps the parent of A+B, comes in and write faults the same swap
page1 into its mm, reuse_swap_page() succeeds this time, swap1 is freed.
kswapd comes in after some time (B still unlucky) and swaps out some
pages from A+B and C: it allocates the original swap1 to page2 in A+B,
and some other swap2 to the original page1 now in C. But does not
immediately free page1 (actually it couldn't: B holds a reference),
leaving it in swap cache for now.
B at last gets the lock on page1, hooray! Is PageSwapCache(page1)? Yes.
Is pte_same(*page_table, orig_pte)? Yes, because page2 has now been
given the swap1 which page1 used to have. So B proceeds to insert page1
into A+B's page_table, though its content now belongs to C, quite
different from what A wrote there.
B ought to have checked that page1's swap was still swap1.
Signed-off-by: Hugh Dickins <hughd@google.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:14 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle
Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also
the default state after probing and codec is left unconfigured and
unpowered by default. Initialization will happen when the bias state changes
and aic3x_set_power does power-up and cache sync.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:13 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
There is no need to reset the codec and perform cache sync if none of the
supply regulators were not disabled. Patch registers a notifier callback for
each supply and callback then sets a flag to indicate when cache sync is
required.
HW writes are also needless when codec bias is off so cache_only flag is set
independently of actual supply regulators state.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:12 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.
This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.
It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:11 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Move regulator management from i2c to soc domain
It will be easier to keep regulator enable/disable calls in sync when dynamic
regulator management is added if regulator management is moved from
aic3x_i2c_probe/_remove to aic3x_probe/_remove.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Takashi Iwai [Mon, 20 Sep 2010 13:37:26 +0000 (15:37 +0200)]
Merge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 20 Sep 2010 13:20:52 +0000 (15:20 +0200)]
ALSA: hda - Refactor ALC269 power-ups/downs in PM callbacks
Create a helper function to simplify the code.
Also, cleaned up the ifdef SND_HDA_NEEDS_RESUME and
CONFIG_SND_HDA_POWER_SAVE. The former is always defined when the latter
is set.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 20 Sep 2010 13:09:03 +0000 (15:09 +0200)]
ALSA: hda - Fix capture widget for ALC269vb and co
ALC269vb and other variants don't use the widgets 0x24 but prefer the
widget 0x22 instead. We need to fix the input parser.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 20 Sep 2010 13:11:54 +0000 (15:11 +0200)]
ALSA: hda - Optimize the check of ALC269 codec variants
Don't call the COEF check for checking ACL269 codec variants at each
time in init but remember the type at the initialization.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 20 Sep 2010 12:58:57 +0000 (14:58 +0200)]
ALSA: hda - Fix initialization of multiple output pins for ALC268/269
When multiple pins are assigned to headphones or speakers, they haven't
been initialized properly.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Mon, 20 Sep 2010 12:56:32 +0000 (14:56 +0200)]
ALSA: hda - Fix up autocfg output pin numbers in realtek parser
When quirks are applied, the numbers of output pins in autocfg aren't
set up properly but only pin arrays are changed. Let's fix it up so that
the rest of the parser can use autocfg.line_outs & co safely.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Liam Girdwood [Mon, 20 Sep 2010 08:53:29 +0000 (09:53 +0100)]
Merge remote branch 'asoc/for-2.6.37' into for-2.6.37