summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* ASoC: Add trace events for ASoC register read/writeMark Brown2010-11-11
| | | | | | | | | | | The trace subsystem provides a convenient way of instrumenting the kernel which can be left on all the time with extremely low impact on the system unlike prints to the kernel log which can be very spammy. Begin adding support for instrumenting ASoC via this interface by adding trace for the register access primitives. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* ASoC: Factor out boiler plate for DAPM event generationMark Brown2010-11-11
| | | | | | | | | Make the DAPM sequence execution look a bit nicer by factoring out the code to invoke an event into a single function since it's all the same pretty much. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* Merge branch 'for-2.6.37' into for-2.6.38Mark Brown2010-11-10
|\
| * ASoC: Ensure sane WM835x AIF configuration by defaultMark Brown2010-11-10
| | | | | | | | | | | | | | | | | | | | | | Ensure that whatever ran before us leaves the WM835x with a sane default audio interface configuration as we do not override the companding, loopback or tristate settings and do not reset the chip at startup (as it is a PMIC). Reported-by: Keiji Mitsuhisa <Keiji.Mitsuhisa@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * ASoC: Remove broken WM8350 direction constantsMark Brown2010-11-10
| | | | | | | | | | | | | | | | | | | | | | The WM8350 driver was using some custom constants to interpret the direction of the MCLK signal which had the opposite values to those used as standard by the ASoC core, causing confusion in machine drivers such as the 1133-EV1 board. Reported-by: Tommy Zhu <Tommy.Zhu@wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: Convert pop_dbg to use dev_infoJarkko Nikula2010-11-10
| | | | | | | | | | | | | | | | | | Prints from pop_dbg are enabled when dapm_pop_time != 0. Convert it to use dev_info so that parent device of DAPM context is printed. 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>
* | ASoC: Update DAPM debug and error printsJarkko Nikula2010-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch printk and pr_ prints to dev_ variants. It is helpful to see parent device of DAPM context especially when there are multiple DAPM contexts (codecs currently). This is mostly simple conversion. Exceptions are in snd_soc_dapm_set_pin that prints also pin state, uniform "dapm: unknown pin" error prints from snd_soc_dapm_set_pin, snd_soc_dapm_force_enable_pin and snd_soc_dapm_ignore_suspend, and pop_dbg which is converted by an another patch. 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>
* | ASoC: Fix compile error if CONFIG_DEBUG_FS is not configuredAxel Lin2010-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add soc_init_card_debugfs and soc_cleanup_card_debugfs functions to fix below error. CC sound/soc/soc-core.o sound/soc/soc-core.c: In function 'soc_probe': sound/soc/soc-core.c:1689: error: implicit declaration of function 'soc_init_card_debugfs' sound/soc/soc-core.c: In function 'soc_remove': sound/soc/soc-core.c:1718: error: implicit declaration of function 'soc_cleanup_card_debugfs' make[2]: *** [sound/soc/soc-core.o] Error 1 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Jarkko Nikula <jhnikula@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.37' into HEADMark Brown2010-11-08
|\ \ | |/
| * ASoC: s3c24xx: Fix compilation problem for mini2440Marek Belisko2010-11-08
| | | | | | | | | | | | | | | | | | | | | | When make mini2440_defconfig compilation end with undefined references to DMA functions. There was missing selection for S3C2410_DMA when compile ASoC audio for S3C24xx CPU. Tested on mini2440 board. Signed-off-by: Marek Belisko <marek.belisko@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Return proper error if snd_soc_register_dais fails in psc_i2s_of_probeAxel Lin2010-11-08
| | | | | | | | | | | | Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Remove unneeded use of address-of operatorDimitris Papastamos2010-11-08
| | | | | | | | | | | | | | | | | | There is no need to use '&' in this case. Either way, if a is an array of some type, then a == &a == &a[0]. 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>
* | ASoC: soc-cache: Use BUG_ON() for unsupported hw_read() callsDimitris Papastamos2010-11-08
| | | | | | | | | | | | | | | | | | Instead of dereferencing a NULL function pointer and falling apart use BUG_ON() for any unimplemented hw_read() calls. 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>
* | Merge branch 'for-2.6.37' into for-2.6.38Mark Brown2010-11-06
|\ \ | |/
| * ASoC: WM8776: Removed unneeded struct memberDimitris Papastamos2010-11-06
| | | | | | | | | | | | | | | | | | | | | | The member reg_cache is not used at all and therefore it should be removed. This member was usually needed for older versions of ASoC that did not handle caching automatically and had to be done in the driver itself. 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>
| * ASoC: Lock the CODEC in PXA external jack controlsMark Brown2010-11-06
| | | | | | | | | | | | | | | | When doing anything with the system, especially DAPM, we need to hold the CODEC mutex. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | ASoC: WM8770: Initial driverDimitris Papastamos2010-11-06
| | | | | | | | | | | | | | | | | | | | The WM8770 is a high performance, multi-channel audio codec. The WM8770 is ideal for surround sound processing applications for home hi-fi, automotive and other audio visual equipment. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Move pop time from DAPM context to sound cardJarkko Nikula2010-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | Based on discussion the dapm_pop_time in debugsfs should be per card rather than per device. Single pop time value for entire card is cleaner when the DAPM sequencing is extended to cross-device paths. debugfs/asoc/{card->name}/{codec dir}/dapm_pop_time -> debugfs/asoc/{card->name}/dapm_pop_time Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Move codec debugfs directories under parent card directoryJarkko Nikula2010-11-06
| | | | | | | | | | | | | | | | | | | | Make use of sound card debugfs directory and move codec directories under the parent card debugfs directory. debugfs/asoc/{codec dir} -> debugfs/asoc/{card->name}/{codec dir}. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Add sound card directory under debugfs/asoc/Jarkko Nikula2010-11-06
| | | | | | | | | | | | | | | | | | There will be need to have sound card specific debugfs entries. This patch introduces a new debugfs/asoc/{card->name}/ directory but does not add yet any entries there. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: Decouple DAPM from CODECsLiam Girdwood2010-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decoupling Dynamic Audio Power Management (DAPM) from codec devices is required when developing ASoC further. Such as for other ASoC components to have DAPM widgets or when extending DAPM to handle cross-device paths. This patch decouples DAPM related variables from struct snd_soc_codec and moves them to new struct snd_soc_dapm_context that is used to encapsulate DAPM context of a device. ASoC core and API of DAPM functions are modified to use DAPM context instead of codec. This patch does not change current functionality and a large part of changes come because of structure and internal API changes. Core implementation is from Liam Girdwood <lrg@slimlogic.co.uk> with some minor core changes, codecs and machine driver conversions from Jarkko Nikula <jhnikula@gmail.com>. Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Cc: Manuel Lauss <manuel.lauss@googlemail.com> Cc: Mike Frysinger <vapier.adi@gmail.com> Cc: Cliff Cai <cliff.cai@analog.com> Cc: Kevin Hilman <khilman@deeprootsystems.com> Cc: Ryan Mallon <ryan@bluewatersys.com> Cc: Timur Tabi <timur@freescale.com> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org> Cc: Wan ZongShun <mcuos.com@gmail.com> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Jassi Brar <jassi.brar@samsung.com> Cc: Daniel Gloeckner <dg@emlix.com> Cc: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | ASoC: i.MX: we can do monoSascha Hauer2010-11-05
| | | | | | | | | | | | | | | | | | Whether we can do mono or not depends on the codec. No need to limit this in the ssi driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'for-2.6.37' into HEADMark Brown2010-11-05
|\ \ | |/
| * phycore-ac97: add ac97 to cardnameSascha Hauer2010-11-05
| | | | | | | | | | | | | | | | | | | | We have different codecs on the pcm038 (ac97 wm9712 and mc13783). To make alsactl restore work correctly these should have different names. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC i.MX: switch to new DMA apiSascha Hauer2010-11-05
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC i.MX: register dma audio deviceSascha Hauer2010-11-05
| | | | | | | | | | | | | | | | | | | | | | We have two different transfer methods on i.MX: FIQ and DMA. Since the merge of the ASoC multicomponent support the DMA device is lost. Add it again. Also, imx_ssi_dai_probe has to be called for !AC97 aswell. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC i.MX phycore ac97: remove unnecessary includesSascha Hauer2010-11-05
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC i.MX eukrea tlv320: Fix for multicomponentSascha Hauer2010-11-05
| | | | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * ASoC: Check return value of strict_strtoul() in WM8962Mark Brown2010-11-03
| | | | | | | | | | | | | | strict_strtoul() has been made __must_check so do so. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * Merge remote branch 'takashi/fix/asoc' into for-2.6.37Mark Brown2010-11-03
| |\
| | * ASoC: tpa6130a2: Get rid of compile warning from tpa6130a2_powerJarkko Nikula2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch "ASoC: tpa6130a2: Fix unbalanced regulator disables" introduced a compiler warning "‘ret’ may be used uninitialized in this function". Initialize ret to zero to get rid of it and making sure that the function does not return any random error code when the code is falling through. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * Merge branch 'for-2.6.37' of ↵Takashi Iwai2010-11-03
| | |\ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
| | | * ASoC: tpa6130a2: Fix unbalanced regulator disablesJarkko Nikula2010-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This driver has unbalanced regulator_disable when doing module loading and unloading. This is because tpa6130a2_probe followed by tpa6130a2_remove calls twice tpa6130a2_power(0). Fix this by implementing a state checking in tpa6130a2_power. Signed-off-by: Jarkko Nikula <jhnikula@gmail.com> Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | | * ASoC: tlv320dac33: Mode1 FIFO auto configuration fixPeter Ujfalusi2010-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not allow invalid (too big) nSample value, when FIFO Mode1 and automatic fifo configuration has been selected. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | | * ASoC: tlv320dac33: Limit the US_TO_SAMPLES macroPeter Ujfalusi2010-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Limit the time window to maximum 1s in the macro. The driver deals with much shorter times (<200ms). This will fix a rare division by zero bug in Mode1. This could happen, when the work is not executed in time (within mode1_latency) after the interrupt. In this case the DAC33 will not receive the needed nSample command in time, and enters to an unknown state, and won't recover. In such event the time window will increase, and eventually going to be bigger than 1s, resulting devision by zero. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| | | * ASoC: tlv320dac33: Error handling for broken chipPeter Ujfalusi2010-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correct/Implement handling of broken chip. Fail the soc_prope if the communication with the chip fails (can not read chip ID). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
| * | | ASoC: Fix snd_soc_register_dais error handlingAxel Lin2010-11-03
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kzalloc for dai may fail at any iteration of the for loop, thus properly unregister already registered DAIs before return error. The error handling code in snd_soc_register_dais() already ensure all the DAIs are unregistered before return error, we can remove the error handling code to unregister DAIs in snd_soc_register_codec(). Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ASoC: Use pm_wakeup_event() in WM8962 jack detectionMark Brown2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the system does not suspend while we process a WM8962 jack event by using pm_wakeup_event() to block the suspend while we're waiting for the jack to settle. Use a slightly longer timeout than the jack waits to allow for other stuff to take over and delays in scheduling. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Remove register write trace from WM8994Mark Brown2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | We now have trace in the ASoC core so we don't need to our own trace in the driver. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: soc-cache: Remove unnecessary debugging infoDimitris Papastamos2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | No need to print the register-value pair again, as we've already hooked snd_soc_write() for that matter. 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>
* | | ASoC: Push snd_soc_write() and snd_soc_read() into the source fileMark Brown2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | Facilitating adding trace type stuff. For a first pass add some dev_dbg() statements into them. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | ASoC: Convert soc-jack code to use request_any_context_irq()Mark Brown2010-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the standard soc-jack GPIO based jack handling to handle the use of GPIOs which may sleep (such as those on GPIO expanders) by converting the code to use request_any_context_irq(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
* | | Merge branch 'for-2.6.37' into HEADMark Brown2010-11-02
|\ \ \ | |/ / | | | | | | | | | | | | | | | WARN() fix from Joe moved. Conflicts: sound/soc/codecs/wm_hubs.c
| * | Merge commit 'v2.6.37-rc1' into for-2.6.37Mark Brown2010-11-02
| |\ \
| | * | Linux 2.6.37-rc1Linus Torvalds2010-11-01
| | | |
| | * | Merge branch 'for-linus' of git://www.jni.nu/crisLinus Torvalds2010-11-01
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://www.jni.nu/cris: CRIS: Add paths for CRISv10 serial driver CRIS: Fix RS485 delay handling. Add missing "struct" to in sizeof.
| | | * | CRIS: Add paths for CRISv10 serial driverJesper Nilsson2010-11-01
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| | | * | CRIS: Fix RS485 delay handling.Jesper Nilsson2010-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Very recently, the RS485 interface has been fixed by adding two further fields (see commit 1b6331848b69d1ed165a6bdc75c4046d68767563). Check the value of the flag SER_RS485_RTS_BEFORE_SEND before delaying. Signed-off-by: Claudio Scordino <claudio@evidence.eu.com> Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| | | * | Add missing "struct" to in sizeof.Jesper Nilsson2010-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lead to a compile error when the struct was no longer typedef'd. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| | * | | Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2010-11-01
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next-spi' of git://git.secretlab.ca/git/linux-2.6: spi/pl022: fix erroneous platform data in U300 spi: fixed odd static string conventions in core code spi/bfin_spi: only request GPIO on first load spi/bfin_spi: handle error/status changes after data interrupts spi: enable spi_board_info to be registered after spi_master