All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot)
@ 2013-07-12 11:33 Peter Ujfalusi
  2013-07-12 11:51 ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Ujfalusi @ 2013-07-12 11:33 UTC (permalink / raw)
  To: Liam Girdwood, Mark Brown; +Cc: alsa-devel

Just recently OMAP4 legacy boot support has been removed. No reason to keep
the code used by the legacy boot (pdata based) since neither OMAP4 or OMAP5
can boot in this mode.
The platform_data header file will be removed at later point to avoid build
issues.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 include/linux/platform_data/omap-abe-twl6040.h |   2 +
 sound/soc/omap/omap-abe-twl6040.c              | 133 ++++++++-----------------
 2 files changed, 43 insertions(+), 92 deletions(-)

diff --git a/include/linux/platform_data/omap-abe-twl6040.h b/include/linux/platform_data/omap-abe-twl6040.h
index 5d298ac..065abbe 100644
--- a/include/linux/platform_data/omap-abe-twl6040.h
+++ b/include/linux/platform_data/omap-abe-twl6040.h
@@ -21,6 +21,8 @@
  * 02110-1301 USA
  */
 
+/* TODO: This file can be removed in 3.12 since it is no longer needed */
+
 #ifndef _OMAP_ABE_TWL6040_H_
 #define _OMAP_ABE_TWL6040_H_
 
diff --git a/sound/soc/omap/omap-abe-twl6040.c b/sound/soc/omap/omap-abe-twl6040.c
index 70cd5c7..ebb1390 100644
--- a/sound/soc/omap/omap-abe-twl6040.c
+++ b/sound/soc/omap/omap-abe-twl6040.c
@@ -23,7 +23,6 @@
 #include <linux/clk.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/twl6040.h>
-#include <linux/platform_data/omap-abe-twl6040.h>
 #include <linux/module.h>
 #include <linux/of.h>
 
@@ -166,19 +165,10 @@ static const struct snd_soc_dapm_route audio_map[] = {
 	{"AFMR", NULL, "Line In"},
 };
 
-static inline void twl6040_disconnect_pin(struct snd_soc_dapm_context *dapm,
-					  int connected, char *pin)
-{
-	if (!connected)
-		snd_soc_dapm_disable_pin(dapm, pin);
-}
-
 static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd)
 {
 	struct snd_soc_codec *codec = rtd->codec;
 	struct snd_soc_card *card = codec->card;
-	struct snd_soc_dapm_context *dapm = &codec->dapm;
-	struct omap_abe_twl6040_data *pdata = dev_get_platdata(card->dev);
 	struct abe_twl6040 *priv = snd_soc_card_get_drvdata(card);
 	int hs_trim;
 	int ret = 0;
@@ -203,24 +193,6 @@ static int omap_abe_twl6040_init(struct snd_soc_pcm_runtime *rtd)
 		twl6040_hs_jack_detect(codec, &hs_jack, SND_JACK_HEADSET);
 	}
 
-	/*
-	 * NULL pdata means we booted with DT. In this case the routing is
-	 * provided and the card is fully routed, no need to mark pins.
-	 */
-	if (!pdata)
-		return ret;
-
-	/* Disable not connected paths if not used */
-	twl6040_disconnect_pin(dapm, pdata->has_hs, "Headset Stereophone");
-	twl6040_disconnect_pin(dapm, pdata->has_hf, "Ext Spk");
-	twl6040_disconnect_pin(dapm, pdata->has_ep, "Earphone Spk");
-	twl6040_disconnect_pin(dapm, pdata->has_aux, "Line Out");
-	twl6040_disconnect_pin(dapm, pdata->has_vibra, "Vibrator");
-	twl6040_disconnect_pin(dapm, pdata->has_hsmic, "Headset Mic");
-	twl6040_disconnect_pin(dapm, pdata->has_mainmic, "Main Handset Mic");
-	twl6040_disconnect_pin(dapm, pdata->has_submic, "Sub Handset Mic");
-	twl6040_disconnect_pin(dapm, pdata->has_afm, "Line In");
-
 	return ret;
 }
 
@@ -274,13 +246,18 @@ static struct snd_soc_card omap_abe_card = {
 
 static int omap_abe_probe(struct platform_device *pdev)
 {
-	struct omap_abe_twl6040_data *pdata = dev_get_platdata(&pdev->dev);
 	struct device_node *node = pdev->dev.of_node;
 	struct snd_soc_card *card = &omap_abe_card;
+	struct device_node *dai_node;
 	struct abe_twl6040 *priv;
 	int num_links = 0;
 	int ret = 0;
 
+	if (!node) {
+		dev_err(&pdev->dev, "of node is missing.\n");
+		return -ENODEV;
+	}
+
 	card->dev = &pdev->dev;
 
 	priv = devm_kzalloc(&pdev->dev, sizeof(struct abe_twl6040), GFP_KERNEL);
@@ -289,78 +266,50 @@ static int omap_abe_probe(struct platform_device *pdev)
 
 	priv->dmic_codec_dev = ERR_PTR(-EINVAL);
 
-	if (node) {
-		struct device_node *dai_node;
-
-		if (snd_soc_of_parse_card_name(card, "ti,model")) {
-			dev_err(&pdev->dev, "Card name is not provided\n");
-			return -ENODEV;
-		}
+	if (snd_soc_of_parse_card_name(card, "ti,model")) {
+		dev_err(&pdev->dev, "Card name is not provided\n");
+		return -ENODEV;
+	}
 
-		ret = snd_soc_of_parse_audio_routing(card,
-						"ti,audio-routing");
-		if (ret) {
-			dev_err(&pdev->dev,
-				"Error while parsing DAPM routing\n");
-			return ret;
-		}
+	ret = snd_soc_of_parse_audio_routing(card, "ti,audio-routing");
+	if (ret) {
+		dev_err(&pdev->dev, "Error while parsing DAPM routing\n");
+		return ret;
+	}
 
-		dai_node = of_parse_phandle(node, "ti,mcpdm", 0);
-		if (!dai_node) {
-			dev_err(&pdev->dev, "McPDM node is not provided\n");
-			return -EINVAL;
-		}
-		abe_twl6040_dai_links[0].cpu_dai_name  = NULL;
-		abe_twl6040_dai_links[0].cpu_of_node = dai_node;
+	dai_node = of_parse_phandle(node, "ti,mcpdm", 0);
+	if (!dai_node) {
+		dev_err(&pdev->dev, "McPDM node is not provided\n");
+		return -EINVAL;
+	}
+	abe_twl6040_dai_links[0].cpu_dai_name  = NULL;
+	abe_twl6040_dai_links[0].cpu_of_node = dai_node;
 
-		dai_node = of_parse_phandle(node, "ti,dmic", 0);
-		if (dai_node) {
-			num_links = 2;
-			abe_twl6040_dai_links[1].cpu_dai_name  = NULL;
-			abe_twl6040_dai_links[1].cpu_of_node = dai_node;
+	dai_node = of_parse_phandle(node, "ti,dmic", 0);
+	if (dai_node) {
+		num_links = 2;
+		abe_twl6040_dai_links[1].cpu_dai_name  = NULL;
+		abe_twl6040_dai_links[1].cpu_of_node = dai_node;
 
-			priv->dmic_codec_dev = platform_device_register_simple(
+		priv->dmic_codec_dev = platform_device_register_simple(
 						"dmic-codec", -1, NULL, 0);
-			if (IS_ERR(priv->dmic_codec_dev)) {
-				dev_err(&pdev->dev,
-					"Can't instantiate dmic-codec\n");
-				return PTR_ERR(priv->dmic_codec_dev);
-			}
-		} else {
-			num_links = 1;
-		}
-
-		priv->jack_detection = of_property_read_bool(node,
-							   "ti,jack-detection");
-		of_property_read_u32(node, "ti,mclk-freq",
-				     &priv->mclk_freq);
-		if (!priv->mclk_freq) {
-			dev_err(&pdev->dev, "MCLK frequency not provided\n");
-			ret = -EINVAL;
-			goto err_unregister;
+		if (IS_ERR(priv->dmic_codec_dev)) {
+			dev_err(&pdev->dev, "Can't instantiate dmic-codec\n");
+			return PTR_ERR(priv->dmic_codec_dev);
 		}
-
-		omap_abe_card.fully_routed = 1;
-	} else if (pdata) {
-		if (pdata->card_name) {
-			card->name = pdata->card_name;
-		} else {
-			dev_err(&pdev->dev, "Card name is not provided\n");
-			return -ENODEV;
-		}
-
-		if (pdata->has_dmic)
-			num_links = 2;
-		else
-			num_links = 1;
-
-		priv->jack_detection = pdata->jack_detection;
-		priv->mclk_freq = pdata->mclk_freq;
 	} else {
-		dev_err(&pdev->dev, "Missing pdata\n");
-		return -ENODEV;
+		num_links = 1;
+	}
+
+	priv->jack_detection = of_property_read_bool(node, "ti,jack-detection");
+	of_property_read_u32(node, "ti,mclk-freq", &priv->mclk_freq);
+	if (!priv->mclk_freq) {
+		dev_err(&pdev->dev, "MCLK frequency not provided\n");
+		ret = -EINVAL;
+		goto err_unregister;
 	}
 
+	card->fully_routed = 1;
 
 	if (!priv->mclk_freq) {
 		dev_err(&pdev->dev, "MCLK frequency missing\n");
-- 
1.8.2.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot)
  2013-07-12 11:33 [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot) Peter Ujfalusi
@ 2013-07-12 11:51 ` Mark Brown
  2013-07-12 12:08   ` Peter Ujfalusi
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2013-07-12 11:51 UTC (permalink / raw)
  To: Peter Ujfalusi; +Cc: alsa-devel, Liam Girdwood


[-- Attachment #1.1: Type: text/plain, Size: 320 bytes --]

On Fri, Jul 12, 2013 at 01:33:55PM +0200, Peter Ujfalusi wrote:

> +/* TODO: This file can be removed in 3.12 since it is no longer needed */
> +

It's a bit late to do this for v3.11 so may as well just jump straight
to the removal?  Having the extra code isn't going to actively break
anything so it's just a cleanup.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot)
  2013-07-12 11:51 ` Mark Brown
@ 2013-07-12 12:08   ` Peter Ujfalusi
  2013-07-12 14:26     ` Mark Brown
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Ujfalusi @ 2013-07-12 12:08 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Liam Girdwood

On 07/12/2013 01:51 PM, Mark Brown wrote:
> On Fri, Jul 12, 2013 at 01:33:55PM +0200, Peter Ujfalusi wrote:
> 
>> +/* TODO: This file can be removed in 3.12 since it is no longer needed */
>> +
> 
> It's a bit late to do this for v3.11 so may as well just jump straight
> to the removal?  Having the extra code isn't going to actively break
> anything so it's just a cleanup.

I know it is late for 3.11, but if I remove it with this commit your for-next
will not compile if OMAP4 is selected since the board files are still there.
I prefer to send a separate patch later on to remove the header file after
your for-next picks up 3.11-rc1

-- 
Péter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot)
  2013-07-12 12:08   ` Peter Ujfalusi
@ 2013-07-12 14:26     ` Mark Brown
  2013-07-15 10:46       ` Peter Ujfalusi
  0 siblings, 1 reply; 5+ messages in thread
From: Mark Brown @ 2013-07-12 14:26 UTC (permalink / raw)
  To: Peter Ujfalusi; +Cc: alsa-devel, Liam Girdwood


[-- Attachment #1.1: Type: text/plain, Size: 885 bytes --]

On Fri, Jul 12, 2013 at 02:08:12PM +0200, Peter Ujfalusi wrote:
> On 07/12/2013 01:51 PM, Mark Brown wrote:
> > On Fri, Jul 12, 2013 at 01:33:55PM +0200, Peter Ujfalusi wrote:

> >> +/* TODO: This file can be removed in 3.12 since it is no longer needed */
> >> +

> > It's a bit late to do this for v3.11 so may as well just jump straight
> > to the removal?  Having the extra code isn't going to actively break
> > anything so it's just a cleanup.

> I know it is late for 3.11, but if I remove it with this commit your for-next
> will not compile if OMAP4 is selected since the board files are still there.
> I prefer to send a separate patch later on to remove the header file after
> your for-next picks up 3.11-rc1

OK, I'm going to rebase all the non-fix branches onto -rc1 anyway once
that's out so probably as well to just wait until then and then go
straight to the removal?

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot)
  2013-07-12 14:26     ` Mark Brown
@ 2013-07-15 10:46       ` Peter Ujfalusi
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Ujfalusi @ 2013-07-15 10:46 UTC (permalink / raw)
  To: Mark Brown; +Cc: alsa-devel, Liam Girdwood

On 07/12/2013 04:26 PM, Mark Brown wrote:
> OK, I'm going to rebase all the non-fix branches onto -rc1 anyway once
> that's out so probably as well to just wait until then and then go
> straight to the removal?

Sure, I'm not in a hurry with this one.

-- 
Péter

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-07-15 10:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-12 11:33 [PATCH] ASoC: omap-abe-twl6040: Remove support for pdata (legacy boot) Peter Ujfalusi
2013-07-12 11:51 ` Mark Brown
2013-07-12 12:08   ` Peter Ujfalusi
2013-07-12 14:26     ` Mark Brown
2013-07-15 10:46       ` Peter Ujfalusi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.