summaryrefslogtreecommitdiffstats
path: root/sound/soc/samsung
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | ASoC: samsung: Fix error handling for clock lookupMark Brown2014-12-061-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Return the error code we got from clk_get() and check to make sure that clk_prepare_enable() worked. Signed-off-by: Mark Brown <broonie@kernel.org>
| | * | ASoC: Samsung: Add arndale_rt5631 machine driver and bindingKrishna Mohan Dani2014-11-263-0/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding machine driver to instantiate I2S based realtek's ALC5631 sound card on Arndale board. There are other variants of Audio Daughter Cards for Arndale Board for which support already exists but there is no support for Realtek's alc5631 codec hence support for ALC5631 based machine driver is being added. This patch also documents the device tree binding for the Arndale board based machine driver. Signed-off-by: Claude Youn <claude.youn@gmail.com> Signed-off-by: Krishna Mohan Dani <krishna.md@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| | * | ASoC: samsung: ASoC: samsung: Fix IISMOD setting in i2s_set_sysclk()Padmavathi Venna2014-11-211-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the i2s_set_sysclk() callback we are currently clearing all bits of the IISMOD register in i2s_set_sysclk. It's due to an incorrect mask used for the AND operation which is introduced in commit a5a56871f804edac93a53b5e871c0e9818fb9033 (ASoC: samsung: add support for exynos7 I2S controller) and also adds the missing break statement. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| | * | ASoC: samsung: add support for exynos7 I2S controllerPadmavathi Venna2014-11-073-67/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exynos7 I2S controller has no internal dma, supports more no. of root clock sampling frequencies and has more no.of Rx fifos to support 7.1CH recording in TDM mode. Due to more no. of root clock frequency values some of the bit offsets got shifted up by one. Also I2S1 on previous Samsung platforms uses v3 dai type but on Exynos7 it is upgraded to v5 with slightly modified register offsets for supporting more no.of RFS values. Due to the above changes, the driver has to be modified to handle all versions of I2S controller. For this I introduced a new structure to hold modified bit offsets and masks which is passed as dai data. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| | * | ASoC: Samsung: Add quirk for internal DMAPadmavathi Venna2014-11-071-6/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | Internal DMA is available only on some of Samsung platforms. So added a quirk for the same and made it optional. Signed-off-by: Padmavathi Venna <padma.v@samsung.com> Signed-off-by: Mark Brown <broonie@kernel.org>
| | |
| \ \
*-. \ \ Merge remote-tracking branches 'asoc/topic/max98088', 'asoc/topic/max98090', ↵Mark Brown2014-12-081-2/+2
|\ \ \ \ | | |/ / | |/| | | | | | 'asoc/topic/max98095', 'asoc/topic/max9850' and 'asoc/topic/mop500' into asoc-next
| | * | ASoC: simple-card: Remove useless castsJean-Francois Moine2014-11-101-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | There is no need to cast the cpu_of_node or codec_of_node of the dai_links when calling of_put_node. Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mark Brown <broonie@kernel.org>
| | |
| \ \
*-. | | Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ad193x', ↵Mark Brown2014-12-081-2/+2
|\ \| | | |_|/ |/| | | | | 'asoc/topic/adau1373' and 'asoc/topic/adau17x1' into asoc-next
| * | ASoC: Rename snd_soc_dai_driver struct ac97_control field to bus_controlLars-Peter Clausen2014-11-181-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting the ac97_control field on a CPU DAI tells the ASoC core that this DAI in addition to audio data also transports control data to the CODEC. This causes the core to suspend the DAI after the CODEC and resume it before the CODEC so communication to the CODEC is still possible. This is not necessarily something that is specific to AC'97 and can be used by other buses with the same requirement. This patch renames the flag from ac97_control to bus_control to make this explicit. While we are at it also change the type from int to bool. The following semantich patch was used for automatic conversion of the drivers: // <smpl> @@ identifier drv; @@ struct snd_soc_dai_driver drv = { - .ac97_control + .bus_control = - 1 + true }; // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
* / ASoC: samsung: Add MODULE_DEVICE_TABLE for SnowAndreas Färber2014-11-051-0/+1
|/ | | | | | | | This enables the snd_soc_snow module to be auto-loaded. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Mark Brown <broonie@kernel.org> Cc: stable@vger.kernel.org
*-. Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5677', ↵Mark Brown2014-10-062-4/+4
|\ \ | | | | | | | | | 'asoc/topic/samsung', 'asoc/topic/sgtl5000' and 'asoc/topic/sh' into asoc-next
| | * ASoC: samsung idma: Add proper annotation for casting iomem pointersLars-Peter Clausen2014-08-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not always possible to interchange iomem pointers with normal pointers, which why we have annotations for iomem pointers and warn when casting them to a normal pointer or vice versa. In this case the casting is fine and unfortunately necessary so add the proper annotations to tell code checkers that it is intentional. This silences the following warnings from sparse: sound/soc/samsung/idma.c:354:20: warning: incorrect type in argument 1 (different address spaces) expected void volatile [noderef] <asn:2>*addr got unsigned char *area sound/soc/samsung/idma.c:372:22: warning: cast removes address space of expression Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: odrodix2_max98090: Make non exported symbols staticLars-Peter Clausen2014-08-171-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | odroidx2_drvdata and odroidu3_drvdata are not used outside this module so make them static (and also const while we are at it). Fixes the following warnings from sparse: sound/soc/samsung/odroidx2_max98090.c:69:26: warning: symbol 'odroidx2_drvdata' was not declared. Should it be static? sound/soc/samsung/odroidx2_max98090.c:74:26: warning: symbol 'odroidu3_drvdata' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/component' into asoc-nextMark Brown2014-10-061-2/+4
|\ \
| * | ASoC: Pass component instead of DAPM context to AUX dev init callbackLars-Peter Clausen2014-08-191-2/+4
| |/ | | | | | | | | | | | | | | Given that the component is the containing structure it makes more sense to pass the component rather than the DAPM context to the AUX dev init callback. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
* / ASoC: samsung-i2s: Check secondary DAI exists before referencingCharles Keepax2014-09-091-2/+3
|/ | | | | | | | | | | In a couple of places the driver is missing a check to ensure there is a secondary DAI before it de-references the pointer to it, causing a null pointer de-reference. This patch adds a check to avoid this. Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
* Merge tag 'cleanup-for-3.17' of ↵Linus Torvalds2014-08-081-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Olof Johansson: "This merge window brings a good size of cleanups on various platforms. Among the bigger ones: - Removal of Samsung s5pc100 and s5p64xx platforms. Both of these have lacked active support for quite a while, and after asking around nobody showed interest in keeping them around. If needed, they could be resurrected in the future but it's more likely that we would prefer reintroduction of them as DT and multiplatform-enabled platforms instead. - OMAP4 controller code register define diet. They defined a lot of registers that were never actually used, etc. - Move of some of the Tegra platform code (PMC, APBIO, fuse, powergate) to drivers/soc so it can be shared with 64-bit code. This also converts them over to traditional driver models where possible. - Removal of legacy gpio-samsung driver, since the last users have been removed (moved to pinctrl) Plus a bunch of smaller changes for various platforms that sort of dissapear in the diffstat for the above. clps711x cleanups, shmobile header file refactoring/moves for multiplatform friendliness, some misc cleanups, etc" * tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits) drivers: CCI: Correct use of ! and & video: clcd-versatile: Depend on ARM video: fix up versatile CLCD helper move MAINTAINERS: Add sdhci-st file to ARCH/STI architecture ARM: EXYNOS: Fix build breakge with PM_SLEEP=n MAINTAINERS: Remove Kirkwood ARM: tegra: Convert PMC to a driver soc/tegra: fuse: Set up in early initcall ARM: tegra: Always lock the CPU reset vector ARM: tegra: Setup CPU hotplug in a pure initcall soc/tegra: Implement runtime check for Tegra SoCs soc/tegra: fuse: fix dummy functions soc/tegra: fuse: move APB DMA into Tegra20 fuse driver soc/tegra: Add efuse and apbmisc bindings soc/tegra: Add efuse driver for Tegra ARM: tegra: move fuse exports to soc/tegra/fuse.h ARM: tegra: export apb dma readl/writel ARM: tegra: Use a function to get the chip ID ARM: tegra: Sort includes alphabetically ARM: tegra: Move includes to include/soc/tegra ...
| * ARM: mach-s5p: get rid of all <mach/gpio.h> headersLinus Walleij2014-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | This renames all the local <mach/gpio.h> headers in the S5P platforms to <mach/gpio-samsung.h> indicating a scope local to this platform, and cuts the implicit inclusion of <mach/gpio.h> from <linux/gpio.h> by removing the use of NEED_MACH_GPIO_H from all S5P variants. Acked-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
| |
| \
*-. \ Merge remote-tracking branches 'asoc/topic/rt5670', 'asoc/topic/rt5677', ↵Mark Brown2014-08-0416-621/+250
|\ \ \ | | |/ | |/| | | | 'asoc/topic/s6000', 'asoc/topic/samsung' and 'asoc/topic/sh-fsi' into asoc-next
| | * ASoC: samsung: Fix return value check in s3c2412_iis_dev_probe()Wei Yongjun2014-07-291-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Also remove redundant return value check of platform_get_resource(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: remove unused DMA dataArnd Bergmann2014-07-148-55/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The s3c_dma_client structures and the 'ch' and 'ops' members in s3c_dma_params were only used by the legacy DMA driver and serve no function any more. This removes any reference to them. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: s3c24xx dmaengine follow-upArnd Bergmann2014-07-143-26/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit ae602456e83c92 ("ASoC: samsung: drop support for legacy S3C24XX DMA API") removed the old code for the samsung specific DMA interfaces, now that everybody can use dmaengine. This picks up the few remaining pieces left over by that patch: The most important one is the removal of the dma_data->ops->started() calls in ac97. My understanding is that these are only required for drivers that do not support cyclic transfers, which the new dma engine driver now does, so we can simply remove them. This would also fix at least one bug in the ac97 driver on newer machines, which currently gives us a NULL pointer dereference from trying to call dma_data->ops->started(). Further, we must no longer 'select' S3C2410_DMA, which conflicts with the dmaengine driver. The SND_S3C_DMA symbol is now useless, because it is always selected, so we can remove it and build the dmaengine support unconditionally. Finally, we should not 'select' S3C24XX_DMAC or S3C64XX_PL080, which may have additional dependencies. This replaces it with 'depends on', to be more conservative. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: no more support for S5P6440 and S5P6450 SoCsKukjin Kim2014-07-142-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes s5p64x0 related WM8580 because of removing support for s5p64x0 SoCs. Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> [pebolle@tiscali.nl: reported missing dependency for smdk6450] Reported-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: add explicit i2c/spi dependenciesArnd Bergmann2014-07-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I got another build error from SND_SOC_SMARTQ selecting SND_SOC_WM8750 without ensuring that I2C is enabled, in this example, i2c is a loadable module: sound/built-in.o: In function `wm8750_i2c_probe': :(.text+0x3e6c0): undefined reference to `devm_regmap_init_i2c' sound/built-in.o: In function `wm8750_exit': :(.exit.text+0x3f4): undefined reference to `i2c_del_driver' sound/built-in.o: In function `wm8750_modinit': :(.init.text+0x13d0): undefined reference to `i2c_register_driver' This changes the samsund ASoC Kconfig to have explicit I2C dependencies for each driver that uses an i2c bus and SPI dependencies for the ones using those. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Add machine driver for Odroid X2/U3Sylwester Nawrocki2014-07-093-0/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the sound subsystem driver for Odroid-X2 and Odroid-U3 boards. The codec works in I2S master mode; there are two separate audio routing paths defined, as there are differences in the signal routing between the X2 and U3 boards, i.e. U3 uses single jack for headphones and microphone. Signed-off-by: Chen Zhen <zhen1.chen@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Make card name for Snow configurableTushar Behera2014-07-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Snow sound-card driver supports multiple boards with different audio codecs. Updating the sound card name per board basis would provide some more information to the end-user. Signed-off-by: Tushar Behera <tushar.b@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Extend snow driver to support MAX98091Tushar Behera2014-06-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Peach-pi board has MAX98091 CODEC. Extend snow machine driver to support this board. Signed-off-by: Tushar Behera <tushar.b@samsung.com> Reviewed-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Remove unused variable from idma.cSachin Kamat2014-06-271-2/+1
| | | | | | | | | | | | | | | | | | | | | ‘iiscon’ is not used in the function. Remove it. Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: s3c24xx-i2s: Move to clk_prepare_enable/clk_disable_unprepareVasily Khoruzhick2014-06-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Use clk_prepare_enable/clk_disable_unprepare to make the driver work properly with common clock framework. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: s3c2412-i2s: Move to clk_prepare_enable/clk_disable_unprepareVasily Khoruzhick2014-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Use clk_prepare_enable/clk_disable_unprepare to make the driver work properly with common clock framework. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: drop support for legacy S3C24XX DMA APIVasily Khoruzhick2014-06-243-459/+0
| | | | | | | | | | | | | | | Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: s3c24{xx,12}-i2s: port to use generic dmaengine APIVasily Khoruzhick2014-06-245-76/+56
| | | | | | | | | | | | | | | | | | | | | Use dmaengine instead of legacy s3c24xx DMA API for s3c24xx and s3c2412 Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Add I2C dependency for snowArnd Bergmann2014-06-221-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both codecs used by snow, max98090 and max98095 require the use of I2C, so we can only select this driver if I2C is there, otherwise we get a build error like: codecs/max98090.c:2494:1: warning: data definition has no type or storage class [enabled by default] module_i2c_driver(max98090_i2c_driver); ^ codecs/max98095.c:2443:1: warning: data definition has no type or storage class [enabled by default] module_i2c_driver(max98095_i2c_driver); ^ This adds one more I2C dependency to the hundreds we already have. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/startup}Sylwester Nawrocki2014-07-111-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently configuration of the CDCLK pad is being overwritten in the i2s_shutdown() callback in order to gate the SoC output clock. However if an ASoC machine driver doesn't restore that clock settings each time after opening the sound device this results in the CDCLK pin being permanently configured into input mode. I.e. the output clock will always stay disabled. Fix that by saving the CDCLKCON bit state in i2s_shutdown() and and restoring it in the i2s_startup() callback. Signed-off-by: Chen Zhen <zhen1.chen@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | ASoC: samsung: Correct I2S DAI suspend/resume opsSylwester Nawrocki2014-07-041-10/+6
|/ | | | | | | | | | | | We should save/restore relevant I2S registers regardless of the dai->active flag, otherwise some settings are being lost after system suspend/resume cycle. E.g. I2S slave mode set only during dai initialization is not preserved and the device ends up in master mode after system resume. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org> Cc: stable@vger.kernel.org
* ASoC: Fix wrong argument for card remove callbacksTakashi Iwai2014-06-033-4/+4
| | | | | | | | | | | The commit [e1d4d3c8: ASoC: free jack GPIOs before the sound card is freed] introduced snd_soc_card remove callbacks to a few drivers, but they are implemented with a wrong argument type. The callback should receive snd_soc_card pointer instead of snd_soc_pcm_runtime. Fixes: e1d4d3c854f2 ('ASoC: free jack GPIOs before the sound card is freed') Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ASoC: free jack GPIOs before the sound card is freedStephen Warren2014-06-033-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same change as commit fb6b8e71448a "ASoC: tegra: free jack GPIOs before the sound card is freed", but applied to all other ASoC machine drivers where code inspection indicates the same problem exists. That commit's description is: ========== snd_soc_jack_add_gpios() schedules a work queue item to poll the GPIO to generate an initial jack status report. If sound card initialization fails, that work item needs to be cancelled, so it doesn't run after the card has been freed. Specifically, freeing the card calls snd_jack_dev_free() which calls snd_jack_dev_disconnect() which sets jack->input_dev = NULL, and input_dev is used by snd_jack_report(), which is called from the work queue item. snd_soc_jack_free_gpios() cancels the work item. The Tegra ASoC machine drivers do call this function in the platform driver remove() callback. However, this happens after the sound card is freed, at least when the card is freed due to errors late during snd_soc_instantiate_card(). This leaves a window where the work item can execute after the card is freed. In next-20140522, sound card initialization does fail for unrelated reasons, and hits the problem described above. To solve this, fix the Tegra ASoC machine drivers to clean up the Jack GPIOs during the snd_soc_card's .remove() callback, which is executed before the overall card object is freed. also, guard the cleanup call based on whether we actually setup up the GPIOs in the first place. Ideally, we'd do the cleanup in a struct snd_soc_dai_link .fini/remove function to match where the GPIOs get set up. However, there is no such callback. ========== Note that I have not even compile-tested this in most cases, since most of the drivers rely on specific mach-* support I don't have enabled, and don't support COMPILE_TEST. Testing by the relevant board maintainers would be useful. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
*-. Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', ↵Mark Brown2014-06-038-25/+27
|\ \ | | | | | | | | | 'asoc/topic/simple' and 'asoc/topic/sirf' into asoc-next
| * | ASoC: samsung: Use params_width()Tushar Behera2014-05-268-24/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | commit 8c5178fca4ce ("ALSA: Add params_width() helpers") introduces a helper to get the sample width. Updating Samsung related sound drivers to use this helper. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | ASoC: samsung: Handle errors when getting the op_clk clockSylwester Nawrocki2014-05-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure i2s->op_clk is not used when clk_get() for this clock fails. This prevents working with an incorrectly configured clock in some conditions. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | |
| \ \
*-. | | Merge remote-tracking branches 'asoc/topic/rt5651', 'asoc/topic/samsung', ↵Mark Brown2014-05-2224-204/+193
|\ \| | | | |/ | |/| | | | 'asoc/topic/sgtl5000', 'asoc/topic/sh', 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/sta350' and 'asoc/topic/tlv320dac33' into asoc-next
| | * ASoC: samsung: Add devm_clk_get to pcm.cTushar Behera2014-05-221-6/+2
| | | | | | | | | | | | | | | | | | | | | clk_get in probe function can be safely replaced with devm_clk_get. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Use devm_snd_soc_register_componentTushar Behera2014-05-227-54/+15
| | | | | | | | | | | | | | | | | | | | | | | | Replaced snd_soc_register_component with its devres equivalent, devm_snd_soc_register_component. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Use devm_snd_soc_register_platformTushar Behera2014-05-2210-32/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced snd_soc_register_platform with devm_snd_soc_register_platform in samsung_asoc_dma_platform_register(). This makes the function samsung_asoc_dma_platform_unregister() redundant. This is removed and all its users are updated. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Use devm_snd_soc_register_cardTushar Behera2014-05-227-97/+21
| | | | | | | | | | | | | | | | | | | | | | | | Replace snd_soc_register_card with devm_snd_soc_register_card. With this change, we can delete the empty remove functions. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: neo1973_wm8753: Automatically disconnected non-connected pinsLars-Peter Clausen2014-05-201-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | The DAPM routes for this board are complete, hence we can let the core take care of disconnecting non-connected pins rather than doing it manually. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Allow setting OP_CLK of the IIS Multi Audio InterfaceSylwester Nawrocki2014-05-202-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for setting source clock of the "Core CLK" of the IIS Multi Audio Interface. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: Add missing pm ops for Snow sound card driverTushar Behera2014-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Adding missing pm ops so that audio playback works across suspend and resume cycle. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * ASoC: samsung: TLV320AIC23 and Simtec Hermes audio need I2CArnd Bergmann2014-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * ASoC: samsung: UDA1380 needs I2CArnd Bergmann2014-05-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The UDA1380 driver needs I2C to be enabled, so SND_SOC_SAMSUNG_H1940_UDA1380 and SND_SOC_SAMSUNG_RX1950_UDA1380 also require this. 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>