aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-12-28ASoC: codecs: wm8741: Fix register cache incoherencyLars-Peter Clausen1-5/+5
The multi-component patch(commit f0fba2ad1) moved the allocation of the register cache from the driver to the ASoC core. Most drivers where adjusted to this, but the wm8741 driver still uses its own register cache for its private functions, while functions from the ASoC core use the generic cache. Thus we end up with two from each other incoherent caches, which can lead to undefined behaviour. This patch fixes the issue by changing the wm8741 driver to use the generic register cache in its private functions. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: Ian Lartey <[email protected]> Cc: Dimitris Papastamos <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected] (for 2.6.37 only)
2010-12-28ASoC: codecs: wm8523: Fix register cache incoherencyLars-Peter Clausen1-4/+5
The multi-component patch(commit f0fba2ad1) moved the allocation of the register cache from the driver to the ASoC core. Most drivers where adjusted to this, but the wm8523 driver still uses its own register cache for its private functions, while functions from the ASoC core use the generic cache. Thus we end up with two from each other incoherent caches, which can lead to undefined behaviour. This patch fixes the issue by changing the wm8523 driver to use the generic register cache in its private functions. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: Ian Lartey <[email protected]> Cc: Dimitris Papastamos <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected] (for 2.6.37 only)
2010-12-28ASoC: codecs: max98088: Fix register cache incoherencyLars-Peter Clausen1-6/+4
The multi-component patch(commit f0fba2ad1) moved the allocation of the register cache from the driver to the ASoC core. Most drivers where adjusted to this, but the max98088 driver still uses its own register cache for its private functions, while functions from the ASoC core use the generic cache. Thus we end up with two from each other incoherent caches, which can lead to undefined behaviour. This patch fixes the issue by changing the max98088 driver to use the generic register cache in its private functions. Signed-off-by: Lars-Peter Clausen <[email protected]> Cc: Peter Hsiang <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected] (for 2.6.37 only)
2010-12-28ASoC: codecs: Add missing control_type initializationLars-Peter Clausen5-0/+5
Some codec drivers do not initialize the control_type field in their private device struct, but still use it when calling snd_soc_codec_set_cache_io. This patch fixes the issue by properly initializing it in the drivers probe functions. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected] (for 2.6.37 only)
2010-12-13ASoC: Fix bias power down of non-DAPM codecJarkko Nikula1-0/+3
Currently bias of non-DAPM codec will be powered down (standby/off) whenever there is a stream stop. This is wrong in simultaneous playback/capture since the bias is put down immediately after stopping the first stream. Fix this by using the codec->active count when figuring out the needed bias level after stream stop. Signed-off-by: Jarkko Nikula <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-12-09ASoC: WM8580: Fix R8 initial valueSeungwhan Youn1-1/+1
Acc to WM8580 manual, the default value for R8 is 0x10, not 0x1c. Signed-off-by: Seungwhan Youn <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-12-09ASoC: fix deemphasis control in wm8904/55/60 codecsDmitry Artamonow3-3/+6
Deemphasis control's .get callback should update control's value instead of returning it - return value of callback function is used for indicating error or success of operation. Signed-off-by: Dmitry Artamonow <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-12-07ASoC: Correct WM8962 interrupt mask register readMark Brown1-1/+1
Fix mismerge from the out of tree BSP where this support was developed. Signed-off-by: Mark Brown <[email protected]>
2010-12-07ASoC: WM8580: Debug BCLK and sample sizeJassi Brar1-4/+4
In case of SNDRV_PCM_FORMAT_S32_LE, we need to set WM8580_AIF_LENGTH_32, rather than WM8580_AIF_LENGTH_24. Also, the BCLK has to be 64fs, for sample size of 20, 24 and 32 bits. Signed-off-by: Jassi Brar <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-12-07ASoC: Fix resource leak if soc_register_ac97_dai_link failedAxel Lin1-5/+7
Properly free the resources in the case of soc_register_ac97_dai_link failure. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-12-06ASoC: Hold client_mutex while calling snd_soc_instantiate_cards()Axel Lin1-0/+2
As the comments of snd_soc_instantiate_cards() said, snd_soc_instantiate_cards() must be called with client_mutex. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-12-06ASoC: Fix swap of left and right channels for WM8993/4 speaker boost gainUk Kim1-1/+1
SPKOUTL_BOOST start from third bit, SPKOUTLR_BOOST start from 0 bit. Signed-off-by: Uk Kim <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-12-06ASoC: Fix off by one error in WM8994 EQ register bank sizeUk Kim1-1/+1
Signed-off-by: Uk Kim <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-12-02Merge branch 'for-2.6.37' of ↵Takashi Iwai1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
2010-12-02ASoC: omap: N810: Don't select CONFIG_OMAP_MUX but make it as dependencyJarkko Nikula1-1/+1
Not all omap boards use kernel based pin multiplexing so CONFIG_SND_OMAP_SOC_N810 should not select it by default as it can make harm to other boards in multi-board kernels. Therefore put CONFIG_OMAP_MUX as a dependency to N810 ASoC machine driver. Thanks to Tony Lindgren <[email protected]> for noticing. Signed-off-by: Jarkko Nikula <[email protected]> Cc: Tony Lindgren <[email protected]> Acked-by: Mark Brown <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
2010-12-01ASoC: WM8731: Fix incorrect mask for bypass path disableDimitris Papastamos1-1/+1
According to the datasheet the bypass path enable/disable is bit 3 therefore we need 0x8 and not 0x4. Signed-off-by: Dimitris Papastamos <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-30s6105-ipcam: fix compilationDaniel Glöckner1-1/+1
When the s6105-ipcam ASoC driver had been converted to the multi-component API, a single reference to a former structure element remained, blocking successful compilation. Signed-off-by: Daniel Glöckner <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-30s6000-pcm: fix compilationDaniel Glöckner1-1/+1
s6000_soc_platform has lost its forward declaration and there no longer is a name element in it, so use a string constant when calling request_irq. Signed-off-by: Daniel Glöckner <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-30s6000-i2s: fix compilationDaniel Glöckner1-1/+1
A semicolon was missing. Signed-off-by: Daniel Glöckner <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-30ASoC: Fix missing spin_unlock_irqrestoreAxel Lin1-4/+5
In nuc900_dma_hw_params(), if snd_pcm_lib_malloc_pages failed it returns without calling spin_unlock_irqrestore(). Since snd_pcm_lib_malloc_pages() does not touch struct nuc900_audio, we don't need to hold the lock while calling snd_pcm_lib_malloc_pages(). Fix it by moving spin_lock_irqsave() down to after snd_pcm_lib_malloc_pages(). In nuc900_dma_prepare(), spin_unlock_irqrestore() is missing in the error path. Fix it by removing the return in default case. Signed-off-by: Axel Lin <[email protected]> Acked-by: Wan ZongShun <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Add missing dev_set_drvdata in p1022_ds_probeAxel Lin1-0/+1
Otherwise, calling dev_get_drvdata in p1022_ds_remove returns NULL. Signed-off-by: Axel Lin <[email protected]> Acked-by: Timur Tabi <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Add missing dev_set_drvdata in mpc8610_hpcd_probeAxel Lin1-0/+1
Otherwise, calling dev_get_drvdata in mpc8610_hpcd_remove returns NULL. Signed-off-by: Axel Lin <[email protected]> Acked-by: Timur Tabi <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Remove unneeded !! operations while checking return value of ↵Axel Lin1-3/+3
nuc900_checkready I think this unneededd !! operations just reduce the readability. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Fix compile error for nuc900-pcm.cAxel Lin2-1/+3
This patch fixes below error: CC sound/soc/nuc900/nuc900-pcm.o sound/soc/nuc900/nuc900-pcm.c: In function 'nuc900_dma_open': sound/soc/nuc900/nuc900-pcm.c:267: error: 'nuc900_ac97_data' undeclared (first use in this function) sound/soc/nuc900/nuc900-pcm.c:267: error: (Each undeclared identifier is reported only once sound/soc/nuc900/nuc900-pcm.c:267: error: for each function it appears in.) sound/soc/nuc900/nuc900-pcm.c: At top level: sound/soc/nuc900/nuc900-pcm.c:337: error: expected ',' or ';' before 'static' sound/soc/nuc900/nuc900-pcm.c:354: error: 'nuc900_soc_platform_probe' undeclared here (not in a function) make[3]: *** [sound/soc/nuc900/nuc900-pcm.o] Error 1 make[2]: *** [sound/soc/nuc900] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Fix prototype for nuc900_ac97_probe and nuc900_ac97_removeAxel Lin1-4/+3
This patch fixes below compile warning: CC sound/soc/nuc900/nuc900-ac97.o sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-29ASoC: Fix compile error for nuc900-ac97.cAxel Lin1-1/+1
Fix below compile error by add a missing ';'. CC sound/soc/nuc900/nuc900-ac97.o sound/soc/nuc900/nuc900-ac97.c:300: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:301: warning: initialization from incompatible pointer type sound/soc/nuc900/nuc900-ac97.c:318: error: expected ',' or ';' before 'static' sound/soc/nuc900/nuc900-ac97.c:405: error: 'nuc900_ac97_drvprobe' undeclared here (not in a function) make[3]: *** [sound/soc/nuc900/nuc900-ac97.o] Error 1 make[2]: *** [sound/soc/nuc900] Error 2 make[1]: *** [sound/soc] Error 2 make: *** [sound] Error 2 Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: Fix resource reclaim for osk5912Axel Lin1-3/+8
In current implementation, there are resources leak in the error path. This patch properly reclaims the allocated resources in the error path. Also adds a missing clk_put in osk_soc_exit. Signed-off-by: Axel Lin <[email protected]> Acked-by: Jarkko Nikula <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: tlv320aic3x - fix variable may be used uninitialized warningAxel Lin1-3/+3
If aic3x_read failed , val is used uninitialized. Fix it by initializing val to 0. This patch fixes below compile warning: sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_get_gpio': sound/soc/codecs/tlv320aic3x.c:1183: warning: 'val' may be used uninitialized in this function sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_headset_detected': sound/soc/codecs/tlv320aic3x.c:1211: warning: 'val' may be used uninitialized in this function sound/soc/codecs/tlv320aic3x.c: In function 'aic3x_button_pressed': sound/soc/codecs/tlv320aic3x.c:1219: warning: 'val' may be used uninitialized in this function Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: davinci-vcif - fix a memory leakAxel Lin1-0/+3
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: phycore-ac97: fix resource leakAxel Lin1-7/+21
Fix imx_phycore_init() error path and imx_phycore_exit() to properly free allocated resources. Signed-off-by: Axel Lin <[email protected]> Acked-by: Sascha Hauer <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: imx-ssi: fix resource leakAxel Lin1-4/+11
Fix imx_ssi_probe() error path and imx_ssi_remove() to properly free allocated resources. Signed-off-by: Axel Lin <[email protected]> Acked-by: Sascha Hauer <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: simone: fix resource leak in simone_init error pathAxel Lin1-8/+10
Fix the error path to properly free allocated resources. Signed-off-by: Axel Lin <[email protected]> Acked-by: Mika Westerberg <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: sam9g20_wm8731: fix resource leak in at91sam9g20ek_init error pathAxel Lin1-1/+4
Fix the error path to properly free allocated resources. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: snd-soc-afeb9260: remove unneeded platform_device_del in error pathAxel Lin1-1/+0
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: pcm030-audio-fabric: fix resource leak in pcm030_fabric_init error pathAxel Lin1-0/+1
Add missing platform_device_put() if platform_device_add() failed. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: efika-audio-fabric: fix resource leak in efika_fabric_init error pathAxel Lin1-0/+1
Add missing platform_device_put() if platform_device_add() failed. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: Call snd_soc_unregister_dais instead of snd_soc_unregister_dai in ↵Axel Lin1-1/+1
sh4_soc_dai_remove We call snd_soc_register_dais() in sh4_soc_dai_probe(), thus we should call snd_soc_unregister_dais() in sh4_soc_dai_remove(). Otherwise, we got "too many arguments to function 'snd_soc_unregister_dai'" error message. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-25ASoC: fix SND_PXA2XX_LIB Kconfig warningDmitry Artamonow1-0/+1
Fix following warning observed when SND_PXA2XX_SOC is set and SND_ARM isn't: warning: (SND_PXA2XX_AC97 && SOUND && !M68K && SND && SND_ARM && ARCH_PXA || SND_PXA2XX_SOC && SOUND && !M68K && SND && SND_SOC && ARCH_PXA) selects SND_PXA2XX_LIB which has unmet direct dependencies (SOUND && !M68K && SND && SND_ARM) Signed-off-by: Dmitry Artamonow <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-24ASoC: nuc900-ac97: fix a memory leakAxel Lin1-1/+1
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Acked-by: Wan ZongShun <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-24Merge branch 'fix/asoc' of ↵Mark Brown1-0/+8
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.37
2010-11-24ASoC: Return proper error for omap3pandora_soc_initAxel Lin1-0/+1
Return PTR_ERR(omap3pandora_dac_reg) instead of 0 if regulator_get failed. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-24ASoC: wm8961 - clear WM8961_MCLKDIV bit for freq <= 16500000Axel Lin1-1/+1
MCLKDIV bit of Register 04h Clocking1: 0 : Divide by 1 1 : Divide by 2 Thus in the case of freq <= 16500000, we should clear MCLKDIV bit. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-11-24ASoC: wm8961 - clear WM8961_DACSLOPE bit for normal modeAxel Lin1-1/+1
DACSLOPE bit of Register 06h ADC and DAC Control 2: 0: Normal mode 1: Sloping stop-band mode Thus in the case of normal mode, we should clear DACSLOPE bit. Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2010-11-23ASoC: wm8994 - fix memory leaksAxel Lin1-0/+2
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-23ASoC: wm8904 - fix memory leaksAxel Lin1-0/+2
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-23ASoC: max98088 - fix a memory leakAxel Lin1-0/+3
Signed-off-by: Axel Lin <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-23ASoC: Do not update the cache if write to hardware failedAxel Lin1-1/+3
Signed-off-by: Axel Lin <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-23ASoC: MPC5200: Eliminate duplicate include of of_device.hJesper Juhl1-1/+0
Eliminate duplicate #include <linux/of_device.h> from sound/soc/fsl/mpc5200_dma.c Signed-off-by: Jesper Juhl <[email protected]> Acked-by: Liam Girdwood <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2010-11-23Merge branch 'for-2.6.37' of ↵Takashi Iwai1-0/+8
git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into fix/asoc
2010-11-22ASoC: Restore WM8994 volatile and readable register operationsMark Brown1-0/+2
They went AWOL during the multi-component merge. Signed-off-by: Mark Brown <[email protected]> Acked-by: Liam Girdwood <[email protected]>