summaryrefslogtreecommitdiff
path: root/sound
AgeCommit message (Collapse)Author
2014-05-01ASoC: omap: rx51: Add some error messagesSebastian Reichel
Add more error messages making it easier to identify problems. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: get GPIO numbers via gpiod APISebastian Reichel
Update the driver to get GPIO numbers from the devm gpiod API instead of requesting hardcoded GPIO numbers. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-05-01ASoC: omap: rx51: omap_mcbsp_st_add_controls: add id parameterSebastian Reichel
This is a preparation for DT based booting where the McBSP id is set to -1 for all McBSP instances. Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: wm8985: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: nuc900: export nuc900_ac97_dataArnd Bergmann
The symbol "nuc900_ac97_data" is used by the nuc900_pcm driver, which may be a loadable module, so we should export it. If one tries to build SND_SOC_NUC900 without SND_SOC_NUC900_AC97, the kernel fails to link because of the reference to nuc900_ac97_data. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: samsung-idma: avoid 64-bit divisionArnd Bergmann
dma_addr_t may be 64 bit wide, which causes a build failure when doing a division on it. Here it is safe to cast to an u32 type, which avoids the problem. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Tested-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: samsung: SMDK_WM8580_PCM needs REGMAP_I2CArnd Bergmann
This adds a missing dependency for SND_SOC_SMDK_WM8580_PCM to require REGMAP_I2C to be enabled, avoiding possible build erorrs. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: davinci: add dependencies for SND_SOC_TLV320AIC3XArnd Bergmann
This codec requires I2C to be enabled, so any other option that selects it should also depend on I2C. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: CS42L51 and WM8962 codecs depend on INPUTArnd Bergmann
Building ARM randconfig got into a situation where CONFIG_INPUT is turned off and SND_SOC_ALL_CODECS is turned on, which failed for two codecs trying to use the input subsystem. Some other drivers also select one of these codecs and consequently need an explicit dependency added. Appending to the dependency list seems the easiest way out, since this is not a practical limitation. If anyone really needs to build these codecs for a kernel with no input support, a more sophisticated solution can be implemented. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: cq93vc: fix cq93vc_get_regmap build errorArnd Bergmann
49101a25acd69c "ASoC: cq93vc: Remove the set_cache_io() entirely from ASoC probe" introduced the cq93vc_get_regmap function that has an obvious build error referring to the 'codec' variable that is not declared anywhere" sound/soc/codecs/cq93vc.c: In function 'cq93vc_get_regmap': sound/soc/codecs/cq93vc.c:157:34: error: 'codec' undeclared (first use in this function) struct davinci_vc *davinci_vc = codec->dev->platform_data; ^ This changes the code to compile again, presumably in the way it was intended. Not tested. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ASoC: rt5640: correct 5640's device IDBard Liao
This patch correct rt5640's device ID Signed-off-by: Bard Liao <bardliao@realtek.com> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-30ALSA: hda - add headset mic detect quirk for a Dell laptopHui Wang
When we plug a 3-ring headset on the Dell machine (VID: 0x10ec0255, SID: 0x1028067e), the headset mic can't be detected, after apply this patch, the headset mic can work well. BugLink: https://bugs.launchpad.net/bugs/1297581 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-29ASoC: mc13783: Add devicetree supportAlexander Shiyan
This patch adds devicetree support for mc13783-codec. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: omap: rx51: Use devm_snd_soc_register_cardSebastian Reichel
This patch converts the rx51 ASoC module to use devm_snd_soc_register_card. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: omap: rx51: Add module aliasSebastian Reichel
Add module alias to support driver autoloading. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: omap: rx51: Use static const char * const arraysSebastian Reichel
Mark the array and the string const by using "static const char * const foo[]" instead of "static const char* foo[]". Signed-off-by: Sebastian Reichel <sre@kernel.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: samsung: Add sound card driver for Snow boardTushar Behera
Added machine driver to instantiate I2S based sound card on Snow board. It has MAX98095 audio codec on board. There are some other variants for Snow board which have MAX98090 audio codec. Hence support for MAX98090 is also added to this driver. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: fsl_spdif: Fix clock source for rxclk rate measurementNicolin Chen
The rxclk rate actually uses sysclk, ipg clock for example, as its reference clock to calculate it. But the driver currently doesn't pass a correct clock source. So fix it. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: core: Add support for machine specific trigger callbackJarkko Nikula
Machine specific trigger callback allows to do final stream start/stop related operations in a machine driver after setting up the codec, DMA and DAI. One example could be clock management for linked streams case where machine driver can start/stop synchronously the linked streams. Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ASoC: core: Fix component_list corruption when unloading modulesJarkko Nikula
This fixes module unload regressions introduced by commits 98e639fb8a3e ("ASoC: Track which components have been registered with snd_soc_register_component()") and b37f1d123c69 ("ASoC: Let snd_soc_platform subclass snd_soc_component"). First commit causes component_list to be corrupted when removing codec and second when removing platform. Reason for both is that components associated with platform or codec are never removed from the list because for them registered_as_component field in struct snd_soc_component is always false. Now list becomes corrupted when snd_soc_unregister_platform() or snd_soc_unregister_codec() frees the platform or codec structure and where the associated struct snd_soc_component is embedded. Fix these by moving component unregistration and cleanup to a new local function __snd_soc_unregister_component() that takes component as its argument. Since component is known for platforms and codecs the __snd_soc_unregister_component() can be called directly and snd_soc_unregister_component() takes care to find and unregister only components that were registered using snd_soc_register_component(). Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29Merge branch 'topic/component' of ↵Mark Brown
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-dapm
2014-04-29ALSA: hda - Suppress CORBRP clear on Nvidia controller chipsTakashi Iwai
The recent commit (ca460f86521) changed the CORB RP reset procedure to follow the specification with a couple of sanity checks. Unfortunately, Nvidia controller chips seem not following this way, and spew the warning messages like: snd_hda_intel 0000:00:10.1: CORB reset timeout#1, CORBRP = 0 This patch adds the workaround for such chips. It just skips the new reset procedure for the known broken chips. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-29ASoC: dapm: Factor out duplicated code in soc_dapm_stream_event()Lars-Peter Clausen
In soc_dapm_stream_event() we have the same code twice, once for the codec_dai and once for the cpu_dai. This patch factors the duplicated code out into a separate function. This will make it easier to modify the implementation (since there is only one place that needs to be updated) and also easier to add support for more than two DAIs per DAI link. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-29ALSA: fm801: introduce fm801_ac97_is_ready()/fm801_ac97_is_valid() helpersAndy Shevchenko
The introduced functios check AC97 if it's ready for communication and read data is valid. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-29ALSA: fm801: introduce macros to access the hardwareAndy Shevchenko
It will help to maintain HW accessors and, for example, switch from the direct I/O to MMIO which is more convenient for PCI devices. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ALSA: usb-audio: Fix format string mismatch in mixer.cMasanari Iida
Fix format string mismatch in parse_audio_selector_unit(). Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ALSA: core: Fix format string mismatch in seq_midi.cMasanari Iida
Fix format string mismatch in snd_seq_midisynth_register_port(). Argument type of p is unsigned int. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ALSA: hda/realtek - Add new codec ALC293/ALC3235 UAJ supportedKailang Yang
New codec ALC293/ALC3235 support multifunction jacks. It used for menual select the input device. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ALSA: hda/realtek - Add two codecs alias name for DellKailang Yang
Add ALC3235 ALC3263. Signed-off-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ALSA: hda - add headset mic detect quirk for a Dell laptopHui Wang
When we plug a 3-ring headset on the Dell machine (VID: 0x10ec0255, SID: 0x10280674), the headset mic can't be detected, after apply this patch, the headset mic can work well. BugLink: https://bugs.launchpad.net/bugs/1297581 Cc: David Henningsson <david.henningsson@canonical.com> Cc: stable@vger.kernel.org Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-04-28ASoC: rt5640: Add the rt5639 support to the OF match tableOder Chiou
The patch adds the rt5639 support to the OF match table. Signed-off-by: Oder Chiou <oder_chiou@realtek.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-26ASoC: Remove name_prefix unset during DAI link init hack againLars-Peter Clausen
This was initially removed in commit 6479f15ad ("ASoC: Remove name_prefix unset during DAI link init hack"), but was brought back in commit 503ae5e0 ("ASoC: core: Add helpers for dai link and aux dev init") by accident. This patch removes it again. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-25ASoC: wm8955: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-25ASoC: wm8731: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-25ASoC: wm8804: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-25ASoC: tlv320dac33: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-25ASoC: tlv320aic31xx: Convert /n to \nJoe Perches
Use a newline character appropriately. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: sgtl5000: Use devm_regulator_bulk_get()Fabio Estevam
Using devm_regulator_bulk_get() can make the code cleaner and smaller as we do not need to call regulator_bulk_free() in the error and remove paths. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: simple-card: is_top_level_node parameter to simple_card_dai_link_of()Jyri Sarha
Restore correct parsing of dai-link subnodes with more explicit implementation for applying the "simple-audio-card,"-prefix to dai-link property and subnode names. Signed-off-by: Jyri Sarha <jsarha@ti.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: core: Add one dai_get_widget helper instead of two rtd based onesBenoit Cousson
Replace rtd_get_codec_widget() and rtd_get_cpu_widget() by a simple dai_get_widget() in preparation for DAI-multicodec support, per Lars suggestion. No functional change. Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: core: Add helpers for dai link and aux dev initMisael Lopez Cruz
Separate DAI link and aux dev initialization in preparation for DAI multicodec support. Since aux dev will remain using single codecs but DAI links will be able to support multiple codecs. No functional change. Signed-off-by: Misael Lopez Cruz <misael.lopez@ti.com> [fparent@baylibre.com: Adapt to 3.14+] Signed-off-by: Fabien Parent <fparent@baylibre.com> Signed-off-by: Benoit Cousson <bcousson@baylibre.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: simple-card: Improve coding styleNicolin Chen
Improve indentation and space. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: simple-card: Simplify error msg in simple_card_dai_link_of()Nicolin Chen
It would look better to use prop instead. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: simple-card: Drop node->name checkingNicolin Chen
The current simple-card driver limits the DT node name to "sound". Any of other names is forbidden while actually we should allow DT to pass other node names. And if this function is being called, the node must already have the compatible "simple-audio-card" in DTB. So there should be no need to check the name here. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: fsl: Drop formats limitation for imx-pcm-dma.cNicolin Chen
Now ASoC core is getting the intersection of supported formats not only from CPU and CODEC dai's but also from DMA's. However, there should be no specific width limitation from SDMA side. So drop it. Otherwise, we would only support S16_LE format for all i.MX platforms. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: fsl_spdif: Add core clock control for DMA accessNicolin Chen
Regmap is able to enable/disable the core clock automatically each time it's going to access the registers. But for DMA cases during playback or recording, it's totally beyong control of regmap. So we have to open the clock manually. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: Intel: Cancel hsw_notification_work before freeing the streamJarkko Nikula
I suppose there is a possibility that hsw_notification_work() may run after sst_hsw_stream_free() which can lead to a kernel crash since struct sst_hsw_stream is freed at that point and stream = container_of(work, struct sst_hsw_stream, notify_work) is not valid when hsw_notification_work() is run. Reported-by: Derek Basehore <dbasehore@chromium.org> Reported-by: Wenkai Du <wenkai.du@intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-24ASoC: imx-audmux: Fix section mismatchLars-Peter Clausen
audmux_debugfs_init() is marked as __init, but is called from imx_audmux_probe() which is not marked as __init. This creates a section mismatch and a potential runtime crash (if imx_audmux_probe() is called after the .init section was dropped). This patch removes the __init annotation from audmux_debugfs_init(), which fixes the following warning: WARNING: sound/soc/built-in.o(.text+0x86960): Section mismatch in reference from the function imx_audmux_probe() to the function .init.text:audmux_debugfs_init() Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-23ASoC: core: Don't break component searching if both id and num_dai are 0Nicolin Chen
The commit e41975ed (ASoC: core: Fix the DAI name getting) added a break within the "if (id < 0 || id >= pos->num_dai)" while the original design of the search didn't break the loop if that condition contented but only mark the ret error and let it go on to search the next component. In a case like dmaengine which's not a dai but as a component sharing an identical name with a dai, both the id and pos->num_dai here could be 0. If we break the search, we may never find the dai we want as it might be placed behind its dmaengine in the component list. So this patch fixes the issue above by following the original design to let the search carry on. Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
2014-04-23ASoC: ak4104: add regulator consumer supportDaniel Mack
The AK4104 has only one power supply, called VDD. Enable it as long as the codec is in use. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>