Skip to content

Commit 5ec23a1

Browse files
committed
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.
2 parents 2143c8a + 2ae6da5 commit 5ec23a1

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

sound/soc/codecs/max9768.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,17 @@ static int max9768_set_gpio(struct snd_kcontrol *kcontrol,
5454
{
5555
struct snd_soc_component *c = snd_soc_kcontrol_component(kcontrol);
5656
struct max9768 *max9768 = snd_soc_component_get_drvdata(c);
57+
bool val = !ucontrol->value.integer.value[0];
58+
int ret;
5759

58-
gpiod_set_value_cansleep(max9768->mute, !ucontrol->value.integer.value[0]);
60+
if (val != gpiod_get_value_cansleep(max9768->mute))
61+
ret = 1;
62+
else
63+
ret = 0;
5964

60-
return 0;
65+
gpiod_set_value_cansleep(max9768->mute, val);
66+
67+
return ret;
6168
}
6269

6370
static const DECLARE_TLV_DB_RANGE(volume_tlv,

sound/soc/generic/audio-graph-card2.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,16 +270,19 @@ static enum graph_type __graph_get_type(struct device_node *lnk)
270270

271271
if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) {
272272
ret = GRAPH_MULTI;
273+
fw_devlink_purge_absent_suppliers(&np->fwnode);
273274
goto out_put;
274275
}
275276

276277
if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) {
277278
ret = GRAPH_DPCM;
279+
fw_devlink_purge_absent_suppliers(&np->fwnode);
278280
goto out_put;
279281
}
280282

281283
if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) {
282284
ret = GRAPH_C2C;
285+
fw_devlink_purge_absent_suppliers(&np->fwnode);
283286
goto out_put;
284287
}
285288

sound/soc/intel/boards/sof_sdw.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,14 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = {
590590
},
591591
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
592592
},
593+
{
594+
.callback = sof_sdw_quirk_cb,
595+
.matches = {
596+
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
597+
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0CF1")
598+
},
599+
.driver_data = (void *)(SOC_SDW_CODEC_SPKR),
600+
},
593601
{
594602
.callback = sof_sdw_quirk_cb,
595603
.matches = {

0 commit comments

Comments
 (0)