Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/tlv320aic23', 'asoc/topic/topology', 'asoc/topic/twl6040' and 'asoc/topic/txx9' into asoc-next

This commit is contained in:
Mark Brown 2017-04-30 22:16:37 +09:00
18 changed files with 30 additions and 42 deletions

View File

@ -174,10 +174,9 @@ static const struct snd_soc_dapm_route tlv320aic23_intercon[] = {
{"ROUT", NULL, "Output Mixer"},
/* Inputs */
{"Line Input", "NULL", "LLINEIN"},
{"Line Input", "NULL", "RLINEIN"},
{"Mic Input", "NULL", "MICIN"},
{"Line Input", NULL, "LLINEIN"},
{"Line Input", NULL, "RLINEIN"},
{"Mic Input", NULL, "MICIN"},
/* input mux */
{"Capture Source", "Line", "Line Input"},

View File

@ -606,6 +606,14 @@ static const struct snd_kcontrol_new twl6040_snd_controls[] = {
twl6040_headset_power_get_enum,
twl6040_headset_power_put_enum),
/* Left HS PDM data routed to Right HSDAC */
SOC_SINGLE("Headset Mono to Stereo Playback Switch",
TWL6040_REG_HSRCTL, 7, 1, 0),
/* Left HF PDM data routed to Right HFDAC */
SOC_SINGLE("Handsfree Mono to Stereo Playback Switch",
TWL6040_REG_HFRCTL, 5, 1, 0),
SOC_ENUM_EXT("PLL Selection", twl6040_power_mode_enum,
twl6040_pll_get_enum, twl6040_pll_put_enum),
};

View File

@ -495,12 +495,13 @@ static void remove_widget(struct snd_soc_component *comp,
struct snd_kcontrol *kcontrol = w->kcontrols[i];
struct soc_enum *se =
(struct soc_enum *)kcontrol->private_value;
int j;
snd_ctl_remove(card, kcontrol);
kfree(se->dobj.control.dvalues);
for (i = 0; i < se->items; i++)
kfree(se->dobj.control.dtexts[i]);
for (j = 0; j < se->items; j++)
kfree(se->dobj.control.dtexts[j]);
kfree(se);
}

View File

@ -318,7 +318,6 @@ static int tegra20_ac97_platform_probe(struct platform_device *pdev)
ac97 = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_ac97),
GFP_KERNEL);
if (!ac97) {
dev_err(&pdev->dev, "Can't allocate tegra20_ac97\n");
ret = -ENOMEM;
goto err;
}

View File

@ -41,6 +41,7 @@ static inline void tegra20_das_write(u32 reg, u32 val)
static inline u32 tegra20_das_read(u32 reg)
{
u32 val;
regmap_read(das->regmap, reg, &val);
return val;
}
@ -142,7 +143,6 @@ static int tegra20_das_probe(struct platform_device *pdev)
das = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_das), GFP_KERNEL);
if (!das) {
dev_err(&pdev->dev, "Can't allocate tegra20_das\n");
ret = -ENOMEM;
goto err;
}

View File

@ -345,7 +345,6 @@ static int tegra20_i2s_platform_probe(struct platform_device *pdev)
i2s = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_i2s), GFP_KERNEL);
if (!i2s) {
dev_err(&pdev->dev, "Can't allocate tegra20_i2s\n");
ret = -ENOMEM;
goto err;
}

View File

@ -271,10 +271,9 @@ static int tegra20_spdif_platform_probe(struct platform_device *pdev)
spdif = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_spdif),
GFP_KERNEL);
if (!spdif) {
dev_err(&pdev->dev, "Can't allocate tegra20_spdif\n");
if (!spdif)
return -ENOMEM;
}
dev_set_drvdata(&pdev->dev, spdif);
spdif->clk_spdif_out = devm_clk_get(&pdev->dev, "spdif_out");

View File

@ -41,6 +41,7 @@ static inline void tegra30_apbif_write(u32 reg, u32 val)
static inline u32 tegra30_apbif_read(u32 reg)
{
u32 val;
regmap_read(ahub->regmap_apbif, reg, &val);
return val;
}
@ -560,10 +561,8 @@ static int tegra30_ahub_probe(struct platform_device *pdev)
ahub = devm_kzalloc(&pdev->dev, sizeof(struct tegra30_ahub),
GFP_KERNEL);
if (!ahub) {
dev_err(&pdev->dev, "Can't allocate tegra30_ahub\n");
if (!ahub)
return -ENOMEM;
}
dev_set_drvdata(&pdev->dev, ahub);
ahub->soc_data = soc_data;

View File

@ -385,7 +385,6 @@ static int tegra30_i2s_platform_probe(struct platform_device *pdev)
i2s = devm_kzalloc(&pdev->dev, sizeof(struct tegra30_i2s), GFP_KERNEL);
if (!i2s) {
dev_err(&pdev->dev, "Can't allocate tegra30_i2s\n");
ret = -ENOMEM;
goto err;
}

View File

@ -169,10 +169,8 @@ static int tegra_alc5632_probe(struct platform_device *pdev)
alc5632 = devm_kzalloc(&pdev->dev,
sizeof(struct tegra_alc5632), GFP_KERNEL);
if (!alc5632) {
dev_err(&pdev->dev, "Can't allocate tegra_alc5632\n");
if (!alc5632)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -225,10 +225,8 @@ static int tegra_max98090_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev,
sizeof(struct tegra_max98090), GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_max98090\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -170,10 +170,8 @@ static int tegra_rt5640_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev,
sizeof(struct tegra_rt5640), GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_rt5640\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -120,10 +120,8 @@ static int tegra_sgtl5000_driver_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_sgtl5000),
GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_sgtl5000 struct\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -128,10 +128,8 @@ static int tegra_wm8753_driver_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_wm8753),
GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_wm8753 struct\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -248,10 +248,8 @@ static int tegra_wm8903_driver_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_wm8903),
GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_wm8903 struct\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -77,10 +77,8 @@ static int tegra_wm9712_driver_probe(struct platform_device *pdev)
machine = devm_kzalloc(&pdev->dev, sizeof(struct tegra_wm9712),
GFP_KERNEL);
if (!machine) {
dev_err(&pdev->dev, "Can't allocate tegra_wm9712 struct\n");
if (!machine)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -123,10 +123,8 @@ static int tegra_snd_trimslice_probe(struct platform_device *pdev)
trimslice = devm_kzalloc(&pdev->dev, sizeof(struct tegra_trimslice),
GFP_KERNEL);
if (!trimslice) {
dev_err(&pdev->dev, "Can't allocate tegra_trimslice\n");
if (!trimslice)
return -ENOMEM;
}
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);

View File

@ -206,7 +206,7 @@ static void txx9aclc_dma_tasklet(unsigned long data)
static int txx9aclc_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
{
struct txx9aclc_dmadata *dmadata = substream->runtime->private_data;
struct txx9aclc_plat_drvdata *drvdata =txx9aclc_drvdata;
struct txx9aclc_plat_drvdata *drvdata = txx9aclc_drvdata;
void __iomem *base = drvdata->base;
unsigned long flags;
int ret = 0;
@ -340,7 +340,7 @@ static bool filter(struct dma_chan *chan, void *param)
static int txx9aclc_dma_init(struct txx9aclc_soc_device *dev,
struct txx9aclc_dmadata *dmadata)
{
struct txx9aclc_plat_drvdata *drvdata =txx9aclc_drvdata;
struct txx9aclc_plat_drvdata *drvdata = txx9aclc_drvdata;
struct txx9dmac_slave *ds = &dmadata->dma_slave;
dma_cap_mask_t mask;
@ -392,6 +392,7 @@ static int txx9aclc_pcm_remove(struct snd_soc_platform *platform)
for (i = 0; i < 2; i++) {
struct txx9aclc_dmadata *dmadata = &dev->dmadata[i];
struct dma_chan *chan = dmadata->dma_chan;
if (chan) {
dmadata->frag_count = -1;
dmaengine_terminate_all(chan);