mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
Merge branch 'asoc-4.20' into asoc-linus
This commit is contained in:
commit
c5fd9e77be
@ -770,15 +770,22 @@ err_clk:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pcm3168a_probe);
|
||||
|
||||
void pcm3168a_remove(struct device *dev)
|
||||
static void pcm3168a_disable(struct device *dev)
|
||||
{
|
||||
struct pcm3168a_priv *pcm3168a = dev_get_drvdata(dev);
|
||||
|
||||
pm_runtime_disable(dev);
|
||||
regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
|
||||
pcm3168a->supplies);
|
||||
pcm3168a->supplies);
|
||||
clk_disable_unprepare(pcm3168a->scki);
|
||||
}
|
||||
|
||||
void pcm3168a_remove(struct device *dev)
|
||||
{
|
||||
pm_runtime_disable(dev);
|
||||
#ifndef CONFIG_PM
|
||||
pcm3168a_disable(dev);
|
||||
#endif
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pcm3168a_remove);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
@ -833,10 +840,7 @@ static int pcm3168a_rt_suspend(struct device *dev)
|
||||
|
||||
regcache_cache_only(pcm3168a->regmap, true);
|
||||
|
||||
regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
|
||||
pcm3168a->supplies);
|
||||
|
||||
clk_disable_unprepare(pcm3168a->scki);
|
||||
pcm3168a_disable(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1246,6 +1246,7 @@ MODULE_DEVICE_TABLE(of, rt5660_of_match);
|
||||
|
||||
static const struct acpi_device_id rt5660_acpi_match[] = {
|
||||
{ "10EC5660", 0 },
|
||||
{ "10EC3277", 0 },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(acpi, rt5660_acpi_match);
|
||||
|
@ -389,6 +389,20 @@ static struct snd_soc_card snd_soc_card_cht = {
|
||||
};
|
||||
|
||||
static const struct dmi_system_id cht_max98090_quirk_table[] = {
|
||||
{
|
||||
/* Clapper model Chromebook */
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Clapper"),
|
||||
},
|
||||
.driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
|
||||
},
|
||||
{
|
||||
/* Gnawty model Chromebook (Acer Chromebook CB3-111) */
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Gnawty"),
|
||||
},
|
||||
.driver_data = (void *)QUIRK_PMC_PLT_CLK_0,
|
||||
},
|
||||
{
|
||||
/* Swanky model Chromebook (Toshiba Chromebook 2) */
|
||||
.matches = {
|
||||
|
@ -1339,6 +1339,18 @@ int rsnd_kctrl_new(struct rsnd_mod *mod,
|
||||
};
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* 1) Avoid duplicate register (ex. MIXer case)
|
||||
* 2) re-register if card was rebinded
|
||||
*/
|
||||
list_for_each_entry(kctrl, &card->controls, list) {
|
||||
struct rsnd_kctrl_cfg *c = kctrl->private_data;
|
||||
|
||||
if (strcmp(kctrl->id.name, name) == 0 &&
|
||||
c->mod == mod)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (size > RSND_MAX_CHANNELS)
|
||||
return -EINVAL;
|
||||
|
||||
|
@ -40,11 +40,8 @@ struct rsnd_dvc {
|
||||
struct rsnd_kctrl_cfg_s ren; /* Ramp Enable */
|
||||
struct rsnd_kctrl_cfg_s rup; /* Ramp Rate Up */
|
||||
struct rsnd_kctrl_cfg_s rdown; /* Ramp Rate Down */
|
||||
u32 flags;
|
||||
};
|
||||
|
||||
#define KCTRL_INITIALIZED (1 << 0)
|
||||
|
||||
#define rsnd_dvc_get(priv, id) ((struct rsnd_dvc *)(priv->dvc) + id)
|
||||
#define rsnd_dvc_nr(priv) ((priv)->dvc_nr)
|
||||
|
||||
@ -227,9 +224,6 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
|
||||
int channels = rsnd_rdai_channels_get(rdai);
|
||||
int ret;
|
||||
|
||||
if (rsnd_flags_has(dvc, KCTRL_INITIALIZED))
|
||||
return 0;
|
||||
|
||||
/* Volume */
|
||||
ret = rsnd_kctrl_new_m(mod, io, rtd,
|
||||
is_play ?
|
||||
@ -285,8 +279,6 @@ static int rsnd_dvc_pcm_new(struct rsnd_mod *mod,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
rsnd_flags_set(dvc, KCTRL_INITIALIZED);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user