summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'asoc/topic/tlv320aic23' into asoc-nextMark Brown2013-11-081-50/+34
|\
| * ASoC: tlv320aic23: Convert to direct regmap API usageMark Brown2013-09-241-23/+31
| | | | | | | | | | | | | | This moves us towards being able to remove the duplicated register I/O code in ASoC. Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: tlv320aic23: Convert to table based control initMark Brown2013-09-241-3/+2
| | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * ASoC: tlv320aic23: Remove #defines for I2CMark Brown2013-09-241-24/+1
| | | | | | | | | | | | | | The only control interface supported by this driver is I2C so there is no need for conditional compilation around the control interface. Signed-off-by: Mark Brown <broonie@linaro.org>
* | Merge remote-tracking branch 'asoc/topic/tegra' into asoc-nextMark Brown2013-11-086-28/+186
|\ \
| * | ASoC: tegra: support new register layouts in Tegra124Stephen Warren2013-10-146-28/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tegra124 introduces some small changes to the layout of some registers. Modify the affected drivers to program those registers appropriately based on which SoC they're running on. Tegra124 also introduced some new modules on the AHUB configlink register bus. These will require new entries in configlink_clocks[] in the AHUB driver. However, supporting that change likely relies on switching Tegra to the common reset framework, so I'll defer that change for now. Based-on-work-by: Arun Shamanna Lakshmi <aruns@nvidia.com> Based-on-work-by: Songhee Baek <sbaek@nvidia.com> Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-nextMark Brown2013-11-081-62/+109
|\ \ \
| * | | ASoC: tas5086: Include linux/of.h headerSachin Kamat2013-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'of_match_ptr' is defined in linux/of.h. Include it explicitly. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: tas5086: add suspend callbackDaniel Mack2013-10-031-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When going to suspend, shut down all channels and re-do the init procedure at resume time. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: tas5086: move initialization code to own functionsDaniel Mack2013-10-031-56/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll need to call code to initialize and reset the codec again at resume time, so factor it out first. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | ASoC: tas5086: move two variables into private structDaniel Mack2013-10-031-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to access the charge_period and start_mid_z values from other places later, so move them to the private struct. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | Merge remote-tracking branch 'asoc/topic/spear' into asoc-nextMark Brown2013-11-082-22/+4
|\ \ \ \
| * | | | ASoC: SPEAr spdif_out: Remove redundant variableSachin Kamat2013-09-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return directly and remove the intermediate local variable. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: SPEAr spdif_out: Use devm_snd_soc_register_componentSachin Kamat2013-09-181-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | ASoC: SPEAr spdif_in: Use devm_snd_soc_register_componentSachin Kamat2013-09-181-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | devm_snd_soc_register_component makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/sn95031' into asoc-nextMark Brown2013-11-081-15/+20
|\ \ \ \ \
| * | | | | ASoC: sn95031: Convert to regmapMark Brown2013-09-261-15/+20
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves us towards being able to remove the duplicated register I/O functionality in ASoC. Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/simple' into asoc-nextMark Brown2013-11-081-0/+5
|\ \ \ \ \
| * | | | | ASoC: simple-card: un-implemented set_fmt is not errorKuninori Morimoto2013-10-201-0/+5
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current simple-card returns error if DAI doesn't support .set_fmt callback. But the error is -ENOTSUPP (= not supported), and it is not error. This patch avoids such case Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/si476x' into asoc-nextMark Brown2013-11-081-48/+16
|\ \ \ \ \
| * | | | | ASoC: si476x: Fix locking of coreMark Brown2013-10-201-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The conversion of the si476x to regmap removed locking of the core during register updates, allowing things like power state changes for the MFD to happen during a register update. Avoid this by taking the core lock in the DAI operations (which are the only things that do register updates) as we used to do in the open coded register I/O functions. Signed-off-by: Mark Brown <broonie@linaro.org> Acked-by: Andrey Smirnov <andrew.smirnov@gmail.com>
| * | | | | ASoC: si476x: Remove custom register I/O implementationMark Brown2013-09-261-45/+1
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current si476x I/O implementation wraps the regmap for the core with functions that make the register map cache only when the device is powered down. This implementation appears to be incomplete since there is no code to synchronise the cache so writes done while the core is powered down will be ignored, the device will only be configured if it is powered. A better and more idiomatic approach would be to have the MFD manage the cache, making the device cache only when it powers things down. This also allows ASoC to use the standard regmap helpers for the device which helps remove the ASoC custom ones so do convert to do that. Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | Merge remote-tracking branch 'asoc/topic/samsung' into asoc-nextMark Brown2013-11-083-19/+12
|\ \ \ \ \
| * | | | | ASoC: samsung: fix return value check in i2s_alloc_dai()Wei Yongjun2013-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of error, the function platform_device_alloc() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: smdk_wm8994: Add .pm to struct smdk_audio_driverSachin Kamat2013-10-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Register PM ops for this driver. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: samsung-i2s: Use devm_snd_soc_register_component()Mark Brown2013-09-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | ASoC: smdk_wm8994: Use devm_snd_soc_unregister_card()Mark Brown2013-09-171-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | Merge remote-tracking branch 'asoc/topic/devm' into asoc-samsungMark Brown2013-09-173-1/+91
| |\ \ \ \ \
| * | | | | | ASoC: bells: Add missing route to power up DSP clockCharles Keepax2013-09-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: samsung: Allow mono in i2s driverCharles Keepax2013-09-171-1/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | | Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-nextMark Brown2013-11-081-6/+25
|\ \ \ \ \ \
| * | | | | | ASoC: rt5640: Fix ignored error checksTakashi Iwai2013-10-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The negative error value returned from get_sdp_info() is ignored because it's assigned to unsigned variables. Spotted by coverity CIDs 1042657, 1042658. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rt5640: Don't go to standby on resumeMark Brown2013-10-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need for the CODEC to go to standby on resume since the core will power it up as needed and in any case it is an idle_bias_off CODEC so would normally sit with bias off while idle. Signed-off-by: Mark Brown <broonie@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
| * | | | | | ASoC: rt5640: Power down LDO while suspendedMark Brown2013-10-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have control over the LDO then disable it during suspend; the device is already being put into reset so will be non-functional over suspend anyway and this will save a small amount of power. Signed-off-by: Mark Brown <broonie@linaro.org> Tested-by: Stephen Warren <swarren@nvidia.com>
| * | | | | | ASoC: rt5640: Omit ACPI match table only if !ACPIThierry Reding2013-09-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ACPI_PTR() macro evaluates to NULL if ACPI is disabled and hence the ACPI match table won't be used, causing the compiler to complain. Avoid this by protecting the table using an #ifdef CONFIG_ACPI. Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rt5640: Add ACPI probing support.Liam Girdwood2013-09-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow the RT5640 to be probed as an ACPI I2C device. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rt5640: Provide more useful hw_params error reasons.Liam Girdwood2013-09-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rt5640: Staticize hp_amp_power_onSachin Kamat2013-09-171-1/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'hp_amp_power_on' is used only in this file. Make it static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@linaro.org>
* | | | | | Merge remote-tracking branch 'asoc/topic/rcar' into asoc-nextMark Brown2013-11-0811-197/+346
|\ \ \ \ \ \
| * | | | | | ASoC: rcar: remove un-needed select from KconfigKuninori Morimoto2013-11-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config RCAR_CLK_ADG is not exist Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rcar: remove original filter from rsnd_dma_init()Kuninori Morimoto2013-10-311-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove original filter from rsnd_dma_init(), and use SH-DMA suitable filter. This new style can be used from Device Tree. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rcar: remove RSND_SSI_CLK_FROM_ADGKuninori Morimoto2013-10-201-32/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | R-Car sound has clock pin for each SSI, and sometimes, these pins are shared with paired SSI. It may sometimes become "SSI-A clock pin is master" and "SSI-B clock pin is slave", but "SSI-A/B clock pins are shared". SSI-B needs SSI-A clock in this case. Current R-Car sound driver is using RSND_SSI_xxx flag to control this kind of shared pin behavior. But, this information, especially clock master setting, can be got from ASoC set_fmt settings. This patch removes rsnd_ssi_mode_init() and extend rsnd_ssi_mode_set() to controlling pin settings via .set_fmt. This patch doesn't removes RSND_SSI_CLK_FROM_ADG flag at this point to avoid conflict branch merging between ASoC <-> SH-ARM. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rcar: add rsnd_scu_hpbif_is_enable()Kuninori Morimoto2013-10-204-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current SSI needs RSND_SSI_DEPENDENT flag to decide dependent/independent mode. And SCU needs RSND_SCU_USE_HPBIF flag to decide HPBIF is enable/disable. But these 2 means same things. This patch adds new rsnd_scu_hpbif_is_enable() function, and merges above methods. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rcar: add ID check on rsnd_dai_get()Kuninori Morimoto2013-10-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | checking id in rsnd_dai_get() is good idea Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rcar: fixup rsnd_platform_call() return valueKuninori Morimoto2013-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Un-implemented platform callback is not error. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rsnd: use regmap instead of original register mapping methodKuninori Morimoto2013-09-242-126/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current Linux kernel is supporting regmap/regmap_field, and, it is good match for Renesas Sound Gen1/Gen2 register mapping. This patch uses regmap instead of original method for register access Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | ASoC: rsnd: remove rsnd_priv_read/write/bset()Kuninori Morimoto2013-09-242-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | adg.c only used rsnd_priv_read/write/bset() which is the only user of NULL mod. but, it can be removed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| * | | | | | Merge tag 'regmap-fields' of ↵Mark Brown2013-09-243-0/+119
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-rcar regmap: Add support for repeated blocks of fields Save duplication for devices using the regmap field APIs by allowing repeated blocks to be described once and referred to with an index.
| | * | | | | | regmap: Add regmap_fields APIsKuninori Morimoto2013-09-173-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current Linux kernel is supporting regmap_field method and it is very useful feature. It needs one regmap_filed for one register access. OTOH, there is multi port device which has many same registers in the market. The difference for each register access is only its address offset. Current API needs many regmap_field for such device, but it is not good. This patch adds new regmap_fileds API which can care about multi port/offset access via regmap. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
| | * | | | | | regmap: add regmap_field_update_bits()Kuninori Morimoto2013-09-172-0/+22
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current regmap_field is supporting read/write functions. This patch adds new update_bits function for it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
OpenPOWER on IntegriCloud