|
@@ -21,7 +21,6 @@
|
|
|
#include <linux/of_graph.h>
|
|
|
#include <linux/platform_device.h>
|
|
|
#include <linux/string.h>
|
|
|
-#include <sound/jack.h>
|
|
|
#include <sound/simple_card_utils.h>
|
|
|
|
|
|
struct graph_card_data {
|
|
@@ -32,6 +31,8 @@ struct graph_card_data {
|
|
|
unsigned int mclk_fs;
|
|
|
} *dai_props;
|
|
|
unsigned int mclk_fs;
|
|
|
+ struct asoc_simple_jack hp_jack;
|
|
|
+ struct asoc_simple_jack mic_jack;
|
|
|
struct snd_soc_dai_link *dai_link;
|
|
|
struct gpio_desc *pa_gpio;
|
|
|
};
|
|
@@ -278,6 +279,22 @@ static int asoc_graph_get_dais_count(struct device *dev)
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
+static int asoc_graph_soc_card_probe(struct snd_soc_card *card)
|
|
|
+{
|
|
|
+ struct graph_card_data *priv = snd_soc_card_get_drvdata(card);
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = asoc_simple_card_init_hp(card, &priv->hp_jack, NULL);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ ret = asoc_simple_card_init_mic(card, &priv->mic_jack, NULL);
|
|
|
+ if (ret < 0)
|
|
|
+ return ret;
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
static int asoc_graph_card_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct graph_card_data *priv;
|
|
@@ -319,6 +336,7 @@ static int asoc_graph_card_probe(struct platform_device *pdev)
|
|
|
card->num_links = num;
|
|
|
card->dapm_widgets = asoc_graph_card_dapm_widgets;
|
|
|
card->num_dapm_widgets = ARRAY_SIZE(asoc_graph_card_dapm_widgets);
|
|
|
+ card->probe = asoc_graph_soc_card_probe;
|
|
|
|
|
|
ret = asoc_graph_card_parse_of(priv);
|
|
|
if (ret < 0) {
|