Merge remote-tracking branches 'asoc/fix/axi', 'asoc/fix/cs4265', 'asoc/fix/da732x', 'asoc/fix/omap', 'asoc/fix/rsnd', 'asoc/fix/rt5640', 'asoc/fix/rt5677', 'asoc/fix/simple' and 'asoc/fix/tegra' into asoc-linus

This commit is contained in:
9 changed files with 24 additions and 15 deletions

View File

@@ -1,7 +1,7 @@
ADI AXI-SPDIF controller ADI AXI-SPDIF controller
Required properties: Required properties:
- compatible : Must be "adi,axi-spdif-1.00.a" - compatible : Must be "adi,axi-spdif-tx-1.00.a"
- reg : Must contain SPDIF core's registers location and length - reg : Must contain SPDIF core's registers location and length
- clocks : Pairs of phandle and specifier referencing the controller's clocks. - clocks : Pairs of phandle and specifier referencing the controller's clocks.
The controller expects two clocks, the clock used for the AXI interface and The controller expects two clocks, the clock used for the AXI interface and

View File

@@ -282,10 +282,10 @@ static const struct cs4265_clk_para clk_map_table[] = {
/*64k*/ /*64k*/
{8192000, 64000, 1, 0}, {8192000, 64000, 1, 0},
{1228800, 64000, 1, 1}, {12288000, 64000, 1, 1},
{1693440, 64000, 1, 2}, {16934400, 64000, 1, 2},
{2457600, 64000, 1, 3}, {24576000, 64000, 1, 3},
{3276800, 64000, 1, 4}, {32768000, 64000, 1, 4},
/* 88.2k */ /* 88.2k */
{11289600, 88200, 1, 0}, {11289600, 88200, 1, 0},
@@ -435,10 +435,10 @@ static int cs4265_pcm_hw_params(struct snd_pcm_substream *substream,
index = cs4265_get_clk_index(cs4265->sysclk, params_rate(params)); index = cs4265_get_clk_index(cs4265->sysclk, params_rate(params));
if (index >= 0) { if (index >= 0) {
snd_soc_update_bits(codec, CS4265_ADC_CTL, snd_soc_update_bits(codec, CS4265_ADC_CTL,
CS4265_ADC_FM, clk_map_table[index].fm_mode); CS4265_ADC_FM, clk_map_table[index].fm_mode << 6);
snd_soc_update_bits(codec, CS4265_MCLK_FREQ, snd_soc_update_bits(codec, CS4265_MCLK_FREQ,
CS4265_MCLK_FREQ_MASK, CS4265_MCLK_FREQ_MASK,
clk_map_table[index].mclkdiv); clk_map_table[index].mclkdiv << 4);
} else { } else {
dev_err(codec->dev, "can't get correct mclk\n"); dev_err(codec->dev, "can't get correct mclk\n");

View File

@@ -11,7 +11,7 @@
*/ */
#ifndef __DA732X_H_ #ifndef __DA732X_H_
#define __DA732X_H #define __DA732X_H_
#include <sound/soc.h> #include <sound/soc.h>

View File

@@ -2059,6 +2059,7 @@ static struct snd_soc_codec_driver soc_codec_dev_rt5640 = {
static const struct regmap_config rt5640_regmap = { static const struct regmap_config rt5640_regmap = {
.reg_bits = 8, .reg_bits = 8,
.val_bits = 16, .val_bits = 16,
.use_single_rw = true,
.max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) * .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) *
RT5640_PR_SPACING), RT5640_PR_SPACING),

View File

@@ -2135,10 +2135,10 @@ static const struct snd_soc_dapm_route rt5677_dapm_routes[] = {
{ "BST2", NULL, "IN2P" }, { "BST2", NULL, "IN2P" },
{ "BST2", NULL, "IN2N" }, { "BST2", NULL, "IN2N" },
{ "IN1P", NULL, "micbias1" }, { "IN1P", NULL, "MICBIAS1" },
{ "IN1N", NULL, "micbias1" }, { "IN1N", NULL, "MICBIAS1" },
{ "IN2P", NULL, "micbias1" }, { "IN2P", NULL, "MICBIAS1" },
{ "IN2N", NULL, "micbias1" }, { "IN2N", NULL, "MICBIAS1" },
{ "ADC 1", NULL, "BST1" }, { "ADC 1", NULL, "BST1" },
{ "ADC 1", NULL, "ADC 1 power" }, { "ADC 1", NULL, "ADC 1 power" },

View File

@@ -481,12 +481,19 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
snd_soc_card_set_drvdata(&priv->snd_card, priv); snd_soc_card_set_drvdata(&priv->snd_card, priv);
ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card); ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card);
if (ret >= 0)
return ret;
err: err:
asoc_simple_card_unref(pdev); asoc_simple_card_unref(pdev);
return ret; return ret;
} }
static int asoc_simple_card_remove(struct platform_device *pdev)
{
return asoc_simple_card_unref(pdev);
}
static const struct of_device_id asoc_simple_of_match[] = { static const struct of_device_id asoc_simple_of_match[] = {
{ .compatible = "simple-audio-card", }, { .compatible = "simple-audio-card", },
{}, {},
@@ -500,6 +507,7 @@ static struct platform_driver asoc_simple_card = {
.of_match_table = asoc_simple_of_match, .of_match_table = asoc_simple_of_match,
}, },
.probe = asoc_simple_card_probe, .probe = asoc_simple_card_probe,
.remove = asoc_simple_card_remove,
}; };
module_platform_driver(asoc_simple_card); module_platform_driver(asoc_simple_card);

View File

@@ -260,7 +260,7 @@ static struct snd_soc_dai_link omap_twl4030_dai_links[] = {
.stream_name = "TWL4030 Voice", .stream_name = "TWL4030 Voice",
.cpu_dai_name = "omap-mcbsp.3", .cpu_dai_name = "omap-mcbsp.3",
.codec_dai_name = "twl4030-voice", .codec_dai_name = "twl4030-voice",
.platform_name = "omap-mcbsp.2", .platform_name = "omap-mcbsp.3",
.codec_name = "twl4030-codec", .codec_name = "twl4030-codec",
.dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF | .dai_fmt = SND_SOC_DAIFMT_DSP_A | SND_SOC_DAIFMT_IB_NF |
SND_SOC_DAIFMT_CBM_CFM, SND_SOC_DAIFMT_CBM_CFM,

View File

@@ -247,7 +247,7 @@ rsnd_gen2_dma_addr(struct rsnd_priv *priv,
}; };
/* it shouldn't happen */ /* it shouldn't happen */
if (use_dvc & !use_src) if (use_dvc && !use_src)
dev_err(dev, "DVC is selected without SRC\n"); dev_err(dev, "DVC is selected without SRC\n");
/* use SSIU or SSI ? */ /* use SSIU or SSI ? */

View File

@@ -21,7 +21,7 @@
*/ */
#ifndef __TEGRA_ASOC_UTILS_H__ #ifndef __TEGRA_ASOC_UTILS_H__
#define __TEGRA_ASOC_UTILS_H_ #define __TEGRA_ASOC_UTILS_H__
struct clk; struct clk;
struct device; struct device;