ASoC: Fixes for v6.12
Some last updates for v6.12, one quirk plus a couple of fixes. One is a minor fix for a relatively obscure driver and the other is a relatively important fix for boot hangs with some audio graph based cards. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmc1/0UACgkQJNaLcl1U h9BFWwf8DVjYujeDc/qCC1k4mbgc1m4GSvUhowUbm7S+crHYrc1YD2q4Fu+HGWr9 ADj3qRWsFu66RjbXA+0Dg3yEkDp2xDAhfZ+hThlwf+0CyOY42YsnlPF0/Y87uLOS 2w/qFaSeYFrSgCJ9UjMtCVtBKJKkFmILm8sS8NrAYUsMmAl5L+HquskqBapT0tNM Beicvth+V0sbo1aq7pdxEGu35DeJmwvXu60hmdIrwKvf5roNXV2Tn/xr4TFyo1uY B1oyTRrhaLNrR/l0hjq20B0mkkYwH/wblp81q5Bm2mb/MmDPBDH0vYYG2rB4Y97j lvmYCgoYEAqCPd+8hHrmOq9jhegZqg== =kQ4k -----END PGP SIGNATURE----- Merge tag 'asoc-fix-v6.12-rc7' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v6.12 Some last updates for v6.12, one quirk plus a couple of fixes. One is a minor fix for a relatively obscure driver and the other is a relatively important fix for boot hangs with some audio graph based cards.
This commit is contained in:
commit
5ec23a1b53
@ -54,10 +54,17 @@ static int max9768_set_gpio(struct snd_kcontrol *kcontrol,
|
|||||||
{
|
{
|
||||||
struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol);
|
struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol);
|
||||||
struct max9768 *max9768 = snd_soc_component_get_drvdata(c);
|
struct max9768 *max9768 = snd_soc_component_get_drvdata(c);
|
||||||
|
bool val = !ucontrol->value.integer.value[0];
|
||||||
|
int ret;
|
||||||
|
|
||||||
gpiod_set_value_cansleep(max9768->mute, !ucontrol->value.integer.value[0]);
|
if (val != gpiod_get_value_cansleep(max9768->mute))
|
||||||
|
ret = 1;
|
||||||
|
else
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
return 0;
|
gpiod_set_value_cansleep(max9768->mute, val);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const DECLARE_TLV_DB_RANGE(volume_tlv,
|
static const DECLARE_TLV_DB_RANGE(volume_tlv,
|
||||||
|
@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
|
|||||||
|
|
||||||
if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
|
if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
|
||||||
ret = GRAPH_MULTI;
|
ret = GRAPH_MULTI;
|
||||||
|
fw_devlink_purge_absent_suppliers(&np->fwnode);
|
||||||
goto out_put;
|
goto out_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
|
if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
|
||||||
ret = GRAPH_DPCM;
|
ret = GRAPH_DPCM;
|
||||||
|
fw_devlink_purge_absent_suppliers(&np->fwnode);
|
||||||
goto out_put;
|
goto out_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
|
if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
|
||||||
ret = GRAPH_C2C;
|
ret = GRAPH_C2C;
|
||||||
|
fw_devlink_purge_absent_suppliers(&np->fwnode);
|
||||||
goto out_put;
|
goto out_put;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -590,6 +590,14 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
|
|||||||
},
|
},
|
||||||
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
|
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.callback = sof_sdw_quirk_cb,
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
|
||||||
|
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0CF1")
|
||||||
|
},
|
||||||
|
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.callback = sof_sdw_quirk_cb,
|
.callback = sof_sdw_quirk_cb,
|
||||||
.matches = {
|
.matches = {
|
||||||
|
Loading…
Reference in New Issue
Block a user