Commit Graph

4278 Commits

Author SHA1 Message Date
Takashi Iwai 55fa518867 Merge branch 'topic/pcsp-fix' into topic/misc 2008-12-20 23:39:47 +01:00
Takashi Iwai 69dfaefee4 ALSA: hda - Add quirk for another HP dv7
Added the model=hp-m4 quirk for another HP dv7 (103c:30fc) with IDT
92HD71b* codec.

Reference: Novell bnc#461108
	https://bugzilla.novell.com/show_bug.cgi?id=461108

Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 16:57:50 +01:00
Takashi Iwai a31501d104 ALSA: ASoC - Add missing __devexit annotation to wm8350.c
Added the missing __devexit annotation to wm8350_codec_remove():
  sound/soc/codecs/wm8350.c:1546: warning: 'wm8350_codec_remove' defined but not used

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 16:50:53 +01:00
Troy Kisky d6f833965e ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode
Sense DaVinci does not support true I2S mode and
we don't have to use the hack, use dsp_b mode instead

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:39 +00:00
Troy Kisky 9e031624d5 ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai
Fix the meaning of SND_SOC_DAIFMT_NB_NF to match that
used in the codec.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:39 +00:00
Troy Kisky a24f4f6826 ALSA: ASoC: tlv320aic3x add dsp_a
Add SND_SOC_DAIFMT_DSP_A mode option.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:38 +00:00
Troy Kisky 07d8d9dca4 ALSA: ASoC: DaVinci: document I2S limitations
DaVinci does not support true I2S or right justified
mode so not all I2S codecs will work with it when the codec is
master. Document this limitation.

Add dsp_a, dsp_b mode options

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:38 +00:00
Troy Kisky 69ab820c86 ALSA: ASoC: DaVinci: davinci-i2s clean up
Minor, just move a block of code to make next patch clearer.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:38 +00:00
Troy Kisky 21903c1c9e ALSA: ASoC: DaVinci: davinci-i2s clean up
Just at little cleanup of davinci_i2s_set_dai_fmt

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:38 +00:00
Troy Kisky 664b4af859 ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity
Document the current polarity choices.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:38 +00:00
Troy Kisky 1152a1959f ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit
Add constants with a value of 0 to show more explicitly
what is being requested.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-20 13:05:37 +00:00
Takashi Iwai ff75427a7f ALSA: ca0106 - disable 44.1kHz capture
The capture with 44.1kHz on ca0106 seems to cause loud noises on
later playbacks, which doesn't support 44.1kHz.  A simple fix is to
disable 44.1kHz, as the "default" PCM with dsnoop is anyway only with
48kHz.

Reference: Novell bnc#447624
	https://bugzilla.novell.com/show_bug.cgi?id=447624

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 11:20:55 +01:00
Takashi Iwai 72077aa336 ALSA: ca0106 - Add missing card->private_data initialization
Added the missing card->private_data initialization that caused obvious
problems at PM.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 11:12:51 +01:00
Takashi Iwai 50232d62ca ALSA: ca0106 - Check ac97 availability at PM
Check the availability of ac97 at PM suspend/resume callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-20 09:42:09 +01:00
Takashi Iwai eb63212868 ALSA: hda - Power up always when no jack detection is available
When no jack detection is available, the pins should be always
turned on since it can't be turned on/off dynamically via unsol
events.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 16:41:06 +01:00
Takashi Iwai 9158923228 ALSA: hda - Fix unused variable warnings in patch_sigmatel.c
Fixed "unused varible" warnings in patch_sigmatel.c that have been
introduced by the last changes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:59:40 +01:00
Takashi Iwai 6030634ac3 Merge branch 'topic/hda-stac-fix' into topic/hda 2008-12-19 15:43:24 +01:00
Takashi Iwai 5bd9c69649 Merge branch 'fix/asoc' into for-linus 2008-12-19 15:37:12 +01:00
Takashi Iwai 70043058a6 Merge branch 'fix/asoc' into topic/asoc 2008-12-19 15:36:58 +01:00
Stanley Miao 19b3f31609 ALSA: Fix a Oops bug in omap soc driver.
There will be a Oops or frequent underrun messages when playing music with
omap soc driver, this is because a data region is incorretly sized, other data
region will be overwriten when writing to this data region.

Signed-off-by: Stanley Miao <stanley.miao@windriver.com>
Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Cc: stable@kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:36:35 +01:00
Takashi Iwai d4d9cd0338 ALSA: hda - Add probe_only option
Added probe_only module option to hd-audio driver.
This option specifies whether the driver creates and initializes the
codec-parser after probing.  When this option is set, the driver skips
the codec parsing and initialization but gives you proc and other
accesses.  It's useful to see the initial codec state for debugging.

The default of this value is off, so the default behavior is as same
as before.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:19:11 +01:00
Takashi Iwai 766245348d ALSA: hda - Use more distinct name for a unique volume in STAC/IDT
When the line_out has only one DAC and it's unique (i.e. not shared
by other outputs), assign a more reasonable and distinct mixer name
such as "Headphone" or "Speaker".

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:09:38 +01:00
Takashi Iwai c21ca4a872 ALSA: hda - Rework on STAC/IDT auto-configuration code
The current auto-configuration code has several problems especially
for the new IDT codecs, e.g. wrong assignment of pins and DACs or
coupled volume for speaker and headphone.

This patch is a fairly large rewrite of the auto-configuration code.
Some remaks

- mic_switch and line_switch contain NIDs instead of bool
- dac_list isn't fixed for IDT 92HD* codecs now, they are all probed
- extra HP and speakers are stored in extra_dacs[].

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 15:09:36 +01:00
Takashi Iwai 03c6901ea2 Merge branch 'fix/hda' into topic/hda 2008-12-19 14:24:13 +01:00
Takashi Iwai 8f55c1e51f ALSA: hda - Remove non-working headphone control for Dell laptops
The previous commit re-enabled hp_nid setup for IDT92HD73*, but
it's unneeded indeed for Dell laptops that have multiple headphones.
Setting the extra hp_nid results in a non-working "Headpohne" mixer
control.  Thus hp_nid should be 0 for these dell models.

Also, the automatic addition of hp_nid should check whether it's
a dual-HP model or not.  For dual-HPs, the pins are already checked
by the early workaround.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 14:23:08 +01:00
Takashi Iwai 8df0f70751 ALSA: ca0106 - Fix typo in resume code
The register and channel_id pair were twisted in the pm code...
Oh my.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 13:55:17 +01:00
Takashi Iwai 3d4758299f ALSA: ca0106 - Add IEC958 PCM Stream controls
Added "IEC958 PCM Stream" controls for the per-stream IEC958 status
bits.  Using this instead of "IEC958 Default" is safer since the status
bits will be recovered to the default states after closing the PCM
stream.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 12:13:18 +01:00
Takashi Iwai 86effd7e12 ALSA: ca0106 - Don't override the values at resume
Don't override some values in ca0106_init_chip() at resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 12:04:06 +01:00
Takashi Iwai 4f2d23e1c3 ALSA: hda - Use snd_hda_ctl_add() in patch_sigmatel.c
Fixed the call of snd_ctl_add() by replacing with snd_hda_ctl_add()
so that this mixer element can be tracked for re-configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 10:14:13 +01:00
Takashi Iwai 827057f5c1 ALSA: hda - Add missing initializations of amp and verb caches
The re-initializations of codec amp and verb caches are missing
at reconfig, which may cause Oops occasionally.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 10:12:02 +01:00
Takashi Iwai 0ff555192a Merge branch 'fix/hda' into topic/hda 2008-12-19 08:22:57 +01:00
Takashi Iwai 9e43f0de69 ALSA: hda - Add no-jd model for IDT 92HD73xx
Added the model without the jack-detection for some desktops that
have really no jack-detection.  The recent driver caused regressions
regarding the sound output on such machines.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 08:22:26 +01:00
Takashi Iwai 85f13b673f ALSA: Revert "ALSA: hda: removed unneeded hp_nid references"
This reverts commit 07f455f779.
    ALSA: hda: removed unneeded hp_nid references

    Removed unneeded hp_nid references for 92hd73xx codec family.

This caused the silent output on some Intel desktops due to missing
routing of widget 0x0a and 0x0d.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 08:20:38 +01:00
Joerg Schirottke fa620e97fe ALSA: hda - Add quirk for Dell Studio 17
Added the matching model=dell-m6 for Dell Studio 17 laptop.

Signed-off-by: Joerg Schirottke <master@kanotix.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-19 08:13:49 +01:00
Mark Brown 40aa4a30d0 ASoC: Add WM8350 AudioPlus codec driver
The WM8350 is an integrated audio and power management subsystem which
provides a single-chip solution for portable audio and multimedia systems.

The integrated audio CODEC provides all the necessary functions for
high-quality stereo recording and playback. Programmable on-chip
amplifiers allow for the direct connection of headphones and microphones
with a minimum of external components. A programmable low-noise bias
voltage is available to feed one or more electret microphones.
Additional audio features include programmable high-pass filter in the
ADC input path.

This driver was originally written by Liam Girdwood with further updates
from me.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-18 17:21:07 +00:00
Mark Brown b8b33cb560 ASoC: Complain if we fail to create DAPM controls
This should never happen and it's helpful to identify the specific control
that failed when it does happen.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-18 17:21:07 +00:00
Mark Brown 0b34a3d03e ASoC: Ease merge difficulties from new architectures
Rather than listing lots of architectures per line in Kconfig and
Makefile, causing merge conflicts all the time, have one per line
in alphabetical order.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-18 17:21:01 +00:00
Takashi Iwai 1f04128a3d ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()
Replace all tasklet_hi_schedule() callers with the normal
tasklet_schedule().  The former often causes troubles with
RT-kernels, and has actually no merit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-18 12:17:55 +01:00
Takashi Iwai 3218c178b4 ALSA: hda - Remove duplicated strings from codec name
Remove codec vendor names from the codec name strings.
The vendor name is already given from the vendor name table, so
displayed doubly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-18 09:17:56 +01:00
Takashi Iwai 74c611334f ALSA: hda - Add Intel vendor id string
Added Intel codec vendor id string (0x8086).
Also fixed Intel-HDMI codec name strings, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-18 09:12:47 +01:00
Takashi Iwai e28d83223a ALSA: hda - Fix silent HP output on D975
Some desktops seems to have no HP/mic jack detection on the front panel,
which results in the silent output in the recent driver, because the
driver mutes the output (to save power) when no plug is detected.

This patch adds a new model that disables the jack-detection.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-18 09:06:29 +01:00
Ben Stanley bb1f24bf00 ALSA: ca0106 MSI K8N Diamond MB spi_dac 2->1
This patch removes an inconsistency that became apparent when I
documented the fields of snd_ca0106_details. spi_dac is always
used in a 'boolean' sense, so this cleanup should make no difference.

[Actually, there is one place checking explicitly spi_dac == 1, so
 this will change the behavior.  But, supposing it's rather a typo,
 I apply this clean-up patch -- tiwai]

Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-16 15:33:54 +01:00
Ben Stanley f649a7145b ALSA: ca0106 Add comments to snd_ca0106_details struct
Takashi wrote an email [1] explaining the fields of snd_ca0106_details,
so I captured the information into the ca0106.h header file.

[1] http://article.gmane.org/gmane.linux.alsa.devel/56783/match=takashi+gpio_type

Signed-off-by: Ben Stanley <Ben.Stanley@exemail.com.au>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-16 15:32:00 +01:00
Takashi Iwai 31117b78ee ALSA: hda - Add Nvidia vendor id string
Added Nvidia (0x10de) to the vendor id list.
Cleaned up the codec name strings accordingly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-16 14:43:21 +01:00
Mark Brown 3d1ee379bd ALSA: Fix declaration of sound_class
Include sound/core.h in sound_core.c so that sound_class is declared
before it is defined, avoiding it looking like it should be static.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-15 16:55:27 +01:00
Alexander Beregalov 9cd28ab005 ASoC: switch davinci DPRINTK to pr_debug()
Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-14 11:33:08 +00:00
Russell King 72aaf09fda Merge git://git.marvell.com/orion into devel 2008-12-13 09:12:51 +00:00
Russell King 70d13e083c [ARM] netwinder: clean up GPIO naming
Netwinder was using gpio_xxx names which could clash with the GPIO
layer.  Add a 'nw_' prefix to ensure that these remain separate.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-12-13 09:12:07 +00:00
Stanley.Miao 49d92c7d5b ASoC: TWL4030: hands-free start-up sequence.
A special start-up sequence is required to reduce the pop-noise of Class D
amplifier when enable hands-free on TWL4030.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-11 16:12:22 +00:00
Mark Brown 4544f8a22f ASoC: Fix variable name for Blackfin I2S DAI
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-11 16:12:14 +00:00
Takashi Iwai 42a73df435 ALSA: sb8 - Fix a return code in the error path
Fixed a compile warning below:
  sound/isa/sb/sb8.c: In function ‘snd_sb8_probe’:
  sound/isa/sb/sb8.c:104: warning: ‘err’ may be used uninitialized in this function
by setting the return value correctly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-11 12:12:06 +01:00
Takashi Iwai 5c0b9bec46 ALSA: hda - Fix a compile warning when CONFIG_PM=n
Fixed the compile warning regarding the unused function when built
with CONFIG_PM=n:
  sound/pci/hda/hda_intel.c:1905: warning: ‘snd_hda_codecs_inuse’ defined but not used

snd_hda_codecs_inuse() is used only in the resume callback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-11 11:48:33 +01:00
Takashi Iwai 6de45d5d77 ALSA: ASoC - Fix DAI registration in s3c2443-ac97.c
Fixed the registration of dais in s3c2443-ac97.c.
  sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_init':
  sound/soc/s3c24xx/s3c2443-ac97.c:401: warning: passing argument 1 of 'snd_soc_register_dai' from incompatible pointer type
  sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_exit':
  sound/soc/s3c24xx/s3c2443-ac97.c:407: warning: passing argument 1 of 'snd_soc_unregister_dai' from incompatible pointer type

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-11 10:28:18 +01:00
Mark Brown 3b1228abc9 ASoC: Stop WM8903 SYSCLK when suspending
This will save some additional power.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 19:47:45 +00:00
Mark Brown d58d5d5567 ASoC: Convert WM8903 driver to register at I2C probe time
The driver now registers the codec and DAI when probed as an I2C device.
Also convert the driver to use a single dynamic allocation to simplify
error handling.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 19:47:44 +00:00
Mark Brown 78e19a39d3 ASoC: Convert WM8900 to do more work at I2C probe time
Redo the instantiation of the WM8900 to do most of the initialisation
work when the I2C driver probes rather than when the ASoC device is
instantiated, registering the codec with the ASoC core when done.

Also move all dynamic allocations into a single kmalloc() to simplify
error handling and rename the I2C driver to make output more sensible.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 19:47:40 +00:00
Takashi Iwai f144b7f667 ALSA: cs5535 - Make OLPC-stuff depending on MGEODE_LX
The GPIO stuff for OLPC in cs5535audio_olpc.c is implemented only for
Geode-LX, and enabled only when CONFIG_MGEODE_LX=y.  Without this
config option, the driver gets build errors.

This patch adds a workaround to make it dependent on CONFIG_MGEODE_LX.

Ideally, the OLPC-GPIO stuff should be implemented in a way
independent from CPU type selection...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:23:24 +01:00
Andres Salomon 0fb497f5b6 ALSA: cs5535audio: ensure MIC Bias/Analog Input bail if not on an OLPC machine
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:48 +01:00
Andres Salomon b5ccc57b06 ALSA: cs5535audio: clean up OLPC code
- add copyright info to _olpc.c
 - minor layout fixes
 - make Makefile more concise
 - silence a warning

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:48 +01:00
Andres Salomon c8f0eeebc1 ALSA: cs5535audio: turn off mic bias on OLPCs by default
Always turn off mic bias; the MIC LED should never come on when the
driver is first loaded.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:47 +01:00
Andres Salomon 01da02419d ALSA: cs5535audio: for OLPC, default to Analog Input being off
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:46 +01:00
Andres Salomon bf1e527835 ALSA: cs5535audio: rename V_REFOUT control to MIC Bias
This drops the AD1888 V_REFOUT control, and replaces it with a MIC Bias
Enable control.  It also moves the MIC bias enabling into a separate
function.

Signed-off-by: Andres Salomon <dilinger@debian.org>
2008-12-10 17:14:45 +01:00
Chris Ball e463ae1d13 ALSA: cs5535audio: enable OLPC's V_REFOUT bias when recording
The OLPC has a privacy light hooked up in series with the microphone's
V_Ref bias.  We want to activate the bias while we are capturing audio.

Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:45 +01:00
Andres Salomon 189d34e747 ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO
Checking the HPF register is irrelevant; HPF is secondary to the AI mode.
Instead, check for Analog Input mode via GPIO.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:44 +01:00
Andres Salomon 466ae3055b ALSA: cs5535audio: rename OLPC's analog input control && drop AD1888's HPF
Previously, we had two separate controls; there's no need to have AD1888's
HPF control, so drop it if we're on an OLPC machine.  Also, as per Arjun's
request, rename OLPC's Analog Input Switch control to "DC Mode Enable".

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:43 +01:00
Andres Salomon d6276b7802 ALSA: cs5535audio: create function for setting OLPC's Analog Input mode
Clean this stuff up a bit..

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:42 +01:00
Andres Salomon 1e2232bc70 ALSA: cs5535audio: decouple HPF from V_REFOUT in OLPC code
We shouldn't be touching V_REFOUT when we toggle HPF/analog input, so just
drop that code.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:42 +01:00
Andres Salomon b91254e75c ALSA: cs5535audio: drop ec_analog_input flag for OLPC stuff
This is no longer necessary, as we're no longer doing indexed i/o commands.

Signed-off-by: Andres Salomon <dilinger@debian.org>
2008-12-10 17:14:41 +01:00
Andres Salomon 3556d18465 ALSA: cs5535audio: invert EAPD for OLPC (newer than B3)
Fix an audible pop described in <http://dev.laptop.org/ticket/977>.  Originally
based upon fixes by Mitch Bradley and Chris Ball.

Signed-off-by: Andres Salomon <dilinger@debian.org>
2008-12-10 17:14:40 +01:00
Jordan Crouse c8974be546 ALSA: cs5535audio: Use OLPC/Geode basic infrastructure
Use basic infrastructure code; geode_gpio* (rather than indexed i/o
EC access), and do an OLPC machine check in olpc_quirk.

[dilinger@debian.org: don't return failure in olpc_quirks if !OLPC]
[dilinger@debian.org: drop the <B2 workarounds; those machines are EOL'd]

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
2008-12-10 17:14:39 +01:00
Jaya Kumar 57d4bf6d8e ALSA: cs5535audio: OLPC analog input support
This is a 2nd cut at adding support for OLPC analog input.

Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
2008-12-10 17:14:39 +01:00
Andres Salomon b6c52a2cdb ALSA: cs5535audio: suspend/resume callbacks are only defined with CONFIG_PM
snd_cs5535audio_suspend and snd_cs5535audio_resume are only defined when
CONFIG_PM is set; make that clear in the header file.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:38 +01:00
Jaya Kumar b035ce0f26 ALSA: cs5535audio: turn off PCM properly if closing the audio device
As per <http://dev.laptop.org/ticket/1420>, we need to properly turn off
the PCM if we're closing the device in order to save power.  This also
causes the MIC led to turn off properly.

Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:37 +01:00
Andres Salomon 0bed7b292d ALSA: cs5535audio: stick AD1888 bitshift values into a header file
We'd like to use the High Pass Filter and V_REFOUT bitshift values elsewhere,
so stick them into a ac97_codec.h.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 17:14:36 +01:00
Mark Brown 0d0cf00a7f ASoC: Add codec registration API
Another part of the backporting of Liam's ASoC v2 work. Using this is
more complicated than the other registration types since currently the
codec is instantiated during the probe of the ASoC device so we can't
currently readily wait for the codec to register.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 15:40:02 +00:00
Mark Brown cdc6936432 ALSA: Add support for mechanical jack insertion
Some systems support both mechanical and electrical jack detection,
allowing them to report that a jack is physically present but does
not have any functioning connections. Add a new jack type for these,
allowing user space to report faulty connections.

Thanks to Guillem Jover for the suggestion.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 15:10:44 +01:00
Peter Ujfalusi 1e5fa31f96 ASoC: TWL4030: Change the name for the DACs
To avoid confusion the names for the DACs changed:
DACL1 -> DAC Left1
...

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 11:43:02 +00:00
Peter Ujfalusi d4a73131a5 ASoC: TWL4030: Small cleanup
The mux switch related texts fits to on line, no need to wrap
them.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 11:43:01 +00:00
Peter Ujfalusi 6a1bee4a9c ASoC: TWL4030: Add missing Carkit output
SND_SOC_DAPM_OUTPUT definition for carkitL/R was missing.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 11:43:01 +00:00
Mark Brown 1e297a1925 ASoC: Work around warnings from some build environments
BUG() should be marked as not returning but for at least some
configurations (including some widely deployed compilers) that's either
not happening or being forgotten by the compiler.  Add some extra return
statements to the affected paths.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-10 11:08:33 +00:00
Takashi Iwai 11d518e07d ALSA: hda - Add quirk for HP6730B laptop
Added model=laptop for HP 6730B laptop with AD1984A codec.
Reference: Novell bnc#457909
	https://bugzilla.novell.com/show_bug.cgi?id=457909

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: stable@kernel.org
2008-12-10 10:39:17 +01:00
Takashi Iwai 44411e07c2 ALSA: ca0106 - Check return value of pci_enable_device() in resume
The return value of pci_enable_device() must be checked even in resume
callback:
  sound/pci/ca0106/ca0106_main.c:1779: warning: ignoring return value of ‘pci_enable_device’, declared with attribute warn_unused_result

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 08:30:40 +01:00
Takashi Iwai f73f2a6a23 ALSA: ASoC - Fix symbol conflicts in omac-mcbsp.c
Add snd_ prefix to avoid the conflict of symbols in omac-mcbsp.c:
  sound/soc/omap/omap-mcbsp.c:503: error: static declaration of 'omap_mcbsp_init' follows non-static declaration
  arch/arm/plat-omap/include/mach/mcbsp.h:373: error: previous declaration of 'omap_mcbsp_init' was here

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 07:59:33 +01:00
Roel Kluin acc421656b ALSA: sound: Make static
Sparse asked whether these could be static.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 07:55:59 +01:00
Takashi Iwai c9b3a40ff2 ALSA: ASoC - Fix wrong section types
The module init entries should be __init instead of __devinit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 07:47:22 +01:00
Takashi Iwai 24e07db8cc ALSA: ASoC - Fix module init entry for twl4030.c
Fixed the function name of module init entry for twl4030.c, which
conflicted with the existing hardware init function:
  sound/soc/codecs/twl4030.c:1278: error: conflicting types for 'twl4030_init'
  sound/soc/codecs/twl4030.c:1187: error: previous definition of 'twl4030_init' was here

Also fixed the section type of init function.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-12-10 07:40:24 +01:00
Mark Brown 471716f7ea ASoC: Fix typos in Atmel module registration
I wish I had boards which work with unmodified kernels :/

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 14:47:07 +00:00
Mark Brown f0752331b8 ASoC: Convert WM8900 to allow registration by machine code
This makes use of the support for delayed DAI registration to allow the
WM8900 I2C device to be registered by general platform/architecture code
rather than as part of the ASoC device probe.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 13:30:05 +00:00
Mark Brown 6b05eda638 ASoC: Wait for non-AC97 codec DAIs before instantiating
This will allow codec drivers to be refactored to allow them to be
registered out of line with the ASoC device registration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 13:30:05 +00:00
Mark Brown 435c5e2588 ASoC: Initial framework for dynamic card instantiation
Use the lists of platforms, platform DAIs and cards to check to see that
everything has registered. Since relationships are still specified by
direct references to the structures in the drivers and the drivers all
register everything at modprobe there should be no practical effect yet.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 13:30:04 +00:00
Mark Brown 64089b84ab ASoC: Register non-AC97 codec DAIs
Currently this is done at module probe time since ASoC ties in codec
device probe to the instantiation of the entire ASoC device. Subsequent
patches will refactor the codec drivers to handle probing separately.
Note that the core does not yet use this information.

AC97 is special since the codec is controlled over the AC97 link but
we want to give the machine driver a chance to set up the system before
trying to instantiate since it may need to do configuration before the
AC97 link will operate

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:29 +00:00
Mark Brown 958e792c7c ASoC: Register platform drivers
This is done at modprobe time, mirroring current behaviour, except for
mpc5200_psc_i2s where we do registration at the same time as we register
with soc-of-simple. Since the core currently ignores registration this
has no practical impact.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:28 +00:00
Mark Brown 12a48a8c00 ASoC: Add platform registration API
ASoC v2 allows platform drivers to instantiate independantly of the
overall ASoC card. This API allows drivers to notify the core when
they are registered.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:27 +00:00
Mark Brown 3f4b783cfd ASoC: Register platform DAIs
Register all platform DAIs with the core.  In line with current behaviour
this is done at module probe time rather than when the devices are probed
(since currently that only happens as the entire ASoC card is registered
except for those drivers that currently implement some kind of hotplug).
Since the core currently ignores DAI registration this has no practical
effect.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:27 +00:00
Mark Brown 9115171a6b ASoC: Add DAI registration API
Add API calls to register and unregister DAIs with the core.  Currently
these APIs are ineffective.  Since multiple DAIs for a given device are
a common case bulk variants are provided.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:26 +00:00
Mark Brown c5af3a2e19 ASoC: Add card registration API
ASoC v2 allows cards, codecs and platforms to instantiate separately,
with the overall ASoC device only being instantiated once all the
required components have registered. As part of backporting Liam's work
introduce an initial version of the card registration functions. At
present these do nothing active and are internal only, they will be
exposed to machine drivers after further backporting.  Adding this now
allows the datastructures used for dynamic card instantiation to be
built up gradually.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:26 +00:00
Peter Ujfalusi ca4513fe06 ASoC: TWL4030: Do not alter the Headset output volume on power-up/down
There is a separate gain control for the Headset output already.
Do not reset the gain to 0 dB at power up.
In power-down, there is no need to set the Headset output gain
to power-down mode, since if the CODECPDZ is in powered off this
setting has no effect.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:25 +00:00
Peter Ujfalusi df339804bb ASoC: TWL4030: DAPM mapping of the Handsfree outputs
Adds DAPM muxing, routing for the Handsfree outputs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:24 +00:00
Peter Ujfalusi 5152d8c28b ASoC: TWL4030: DAPM mapping of the Carkit outputs
Adds DAPM muxing, routing for the Carkit outputs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:24 +00:00
Peter Ujfalusi dfad21a26f ASoC: TWL4030: DAPM mapping of the Headset outputs
Adds DAPM muxing, routing for the Headset outputs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2008-12-09 10:49:23 +00:00