summary refs log tree commit diff
path: root/sound/soc/generic
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-10-02 16:53:35 +0100
committerMark Brown <broonie@kernel.org>2014-10-02 16:53:35 +0100
commit04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491 (patch)
tree062e082e19ab94a4ca7bc60286df970debdd2d6f /sound/soc/generic
parent9810f5370b6e60c4b564f294feb51761f0e741f6 (diff)
parent2ce7598c9a453e0acd0e07be7be3f5eb39608ebd (diff)
downloadlinux-04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491.tar.gz
Merge tag 'v3.17-rc4' into asoc-simple
Linux 3.17-rc4
Diffstat (limited to 'sound/soc/generic')
-rw-r--r--sound/soc/generic/simple-card.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
index a8877076bdfd..709ce67849c8 100644
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -492,12 +492,19 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
 	snd_soc_card_set_drvdata(&priv->snd_card, priv);
 
 	ret = devm_snd_soc_register_card(&pdev->dev, &priv->snd_card);
+	if (ret >= 0)
+		return ret;
 
 err:
 	asoc_simple_card_unref(pdev);
 	return ret;
 }
 
+static int asoc_simple_card_remove(struct platform_device *pdev)
+{
+	return asoc_simple_card_unref(pdev);
+}
+
 static const struct of_device_id asoc_simple_of_match[] = {
 	{ .compatible = "simple-audio-card", },
 	{},
@@ -511,6 +518,7 @@ static struct platform_driver asoc_simple_card = {
 		.of_match_table = asoc_simple_of_match,
 	},
 	.probe = asoc_simple_card_probe,
+	.remove = asoc_simple_card_remove,
 };
 
 module_platform_driver(asoc_simple_card);