diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index a8bc4e45816d..293ff6fda64e 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -614,9 +614,14 @@ static int simple_get_dais_count(struct asoc_simple_priv *priv, static int simple_soc_probe(struct snd_soc_card *card) { struct asoc_simple_priv *priv = snd_soc_card_get_drvdata(card); + char prop[128]; + const char *hp_pin = NULL; int ret; - ret = asoc_simple_init_hp(card, &priv->hp_jack, PREFIX); + snprintf(prop, sizeof(prop), "%shp-pin-name", PREFIX); + of_property_read_string(card->dev->of_node, prop, &hp_pin); + + ret = asoc_simple_init_jack(card, &priv->hp_jack, 1, PREFIX, (char *)hp_pin); if (ret < 0) return ret;