[RFT,v2,2/5] ASoC: samsung: smdk_wm8580: Remove old platforms and drop mach-types usage
diff mbox

Message ID 1479669895-19124-3-git-send-email-krzk@kernel.org
State Accepted
Commit cd9e2b62768c21c051c585f9d4935b4fa6e9603e
Headers show

Commit Message

Krzysztof Kozlowski Nov. 20, 2016, 7:24 p.m. UTC
MACH_SMDKC100, MACH_SMDKV210 and MACH_SMDKC110 are no longer supported
so we can drop the dead code.  After this the driver no longer
differentiates between machines (S3C24xx machines are not supported by
it) so there is no need to override I2S device id in cpu_dai_name and
SEC_PLAYBACK dai_link can be removed as well.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

Not tested. The driver did not override .platform_name which looks
suspicious to me. However I did not want to add changes which could have
some visible impact on output code.

Changes since v1:
1. Squash two smdk_wm8580 patches and use ARRAY_SIZE(smdk_dai), after
   suggestion from Lars-Peter Clausen.
2. Remove also SEC_PLAYBACK dai_link.
---
 sound/soc/samsung/smdk_wm8580.c | 30 +++---------------------------
 1 file changed, 3 insertions(+), 27 deletions(-)

Comments

Sylwester Nawrocki Nov. 21, 2016, 10:30 a.m. UTC | #1
On 11/20/2016 08:24 PM, Krzysztof Kozlowski wrote:
> MACH_SMDKC100, MACH_SMDKV210 and MACH_SMDKC110 are no longer supported
> so we can drop the dead code.  After this the driver no longer
> differentiates between machines (S3C24xx machines are not supported by
> it) so there is no need to override I2S device id in cpu_dai_name and
> SEC_PLAYBACK dai_link can be removed as well.
> 
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
> ---
> 
> Not tested. The driver did not override .platform_name which looks
> suspicious to me. However I did not want to add changes which could have
> some visible impact on output code.

The patch looks good to me. However the existing smdk64xx sound support
less so. I don't have smdk6410 set up for testing yet, possibly I get
around that next week.
Indeed it's strange .platform_name is not also "samsung-i2s.2".

Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Lars-Peter Clausen Nov. 21, 2016, 10:34 a.m. UTC | #2
On 11/21/2016 11:30 AM, Sylwester Nawrocki wrote:
> On 11/20/2016 08:24 PM, Krzysztof Kozlowski wrote:
>> MACH_SMDKC100, MACH_SMDKV210 and MACH_SMDKC110 are no longer supported
>> so we can drop the dead code.  After this the driver no longer
>> differentiates between machines (S3C24xx machines are not supported by
>> it) so there is no need to override I2S device id in cpu_dai_name and
>> SEC_PLAYBACK dai_link can be removed as well.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
>> ---
>>
>> Not tested. The driver did not override .platform_name which looks
>> suspicious to me. However I did not want to add changes which could have
>> some visible impact on output code.
> 
> The patch looks good to me. However the existing smdk64xx sound support
> less so. I don't have smdk6410 set up for testing yet, possibly I get
> around that next week.
> Indeed it's strange .platform_name is not also "samsung-i2s.2".

I think that is a fallout from commit a08485d8fdf6f ("ASoC: Samsung: Do not
register samsung audio dma device as pdev"). Given nobody noticed this in
the last 4 years maybe its time to drop this machine driver as well.
Sylwester Nawrocki Nov. 21, 2016, 11:21 a.m. UTC | #3
On 11/21/2016 11:34 AM, Lars-Peter Clausen wrote:
> On 11/21/2016 11:30 AM, Sylwester Nawrocki wrote:
>> > On 11/20/2016 08:24 PM, Krzysztof Kozlowski wrote:
>>> >>
>>> >> Not tested. The driver did not override .platform_name which looks
>>> >> suspicious to me. However I did not want to add changes which could have
>>> >> some visible impact on output code.
>> > 
>> > The patch looks good to me. However the existing smdk64xx sound support
>> > less so. I don't have smdk6410 set up for testing yet, possibly I get
>> > around that next week.
>> > Indeed it's strange .platform_name is not also "samsung-i2s.2".
>
> I think that is a fallout from commit a08485d8fdf6f ("ASoC: Samsung: Do not
> register samsung audio dma device as pdev"). Given nobody noticed this in
> the last 4 years maybe its time to drop this machine driver as well.

Yeah, looks like since that commit things are broken.  Even though nobody
seems to be interested I'm inclined to not removing this machine driver
just yet, otherwise there will not be any board in mainline I could test
s3c64xx IP block related code changes. I'll try to find time to make this
working again.

--
Thanks,
Sylwester

Patch
diff mbox

diff --git a/sound/soc/samsung/smdk_wm8580.c b/sound/soc/samsung/smdk_wm8580.c
index 548bfd993788..de724ce7b955 100644
--- a/sound/soc/samsung/smdk_wm8580.c
+++ b/sound/soc/samsung/smdk_wm8580.c
@@ -14,8 +14,6 @@ 
 #include <sound/soc.h>
 #include <sound/pcm_params.h>
 
-#include <asm/mach-types.h>
-
 #include "../codecs/wm8580.h"
 #include "i2s.h"
 
@@ -147,7 +145,6 @@  static int smdk_wm8580_init_paiftx(struct snd_soc_pcm_runtime *rtd)
 enum {
 	PRI_PLAYBACK = 0,
 	PRI_CAPTURE,
-	SEC_PLAYBACK,
 };
 
 #define SMDK_DAI_FMT (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | \
@@ -157,7 +154,7 @@  static struct snd_soc_dai_link smdk_dai[] = {
 	[PRI_PLAYBACK] = { /* Primary Playback i/f */
 		.name = "WM8580 PAIF RX",
 		.stream_name = "Playback",
-		.cpu_dai_name = "samsung-i2s.0",
+		.cpu_dai_name = "samsung-i2s.2",
 		.codec_dai_name = "wm8580-hifi-playback",
 		.platform_name = "samsung-i2s.0",
 		.codec_name = "wm8580.0-001b",
@@ -167,7 +164,7 @@  static struct snd_soc_dai_link smdk_dai[] = {
 	[PRI_CAPTURE] = { /* Primary Capture i/f */
 		.name = "WM8580 PAIF TX",
 		.stream_name = "Capture",
-		.cpu_dai_name = "samsung-i2s.0",
+		.cpu_dai_name = "samsung-i2s.2",
 		.codec_dai_name = "wm8580-hifi-capture",
 		.platform_name = "samsung-i2s.0",
 		.codec_name = "wm8580.0-001b",
@@ -175,23 +172,13 @@  static struct snd_soc_dai_link smdk_dai[] = {
 		.init = smdk_wm8580_init_paiftx,
 		.ops = &smdk_ops,
 	},
-	[SEC_PLAYBACK] = { /* Sec_Fifo Playback i/f */
-		.name = "Sec_FIFO TX",
-		.stream_name = "Playback",
-		.cpu_dai_name = "samsung-i2s-sec",
-		.codec_dai_name = "wm8580-hifi-playback",
-		.platform_name = "samsung-i2s-sec",
-		.codec_name = "wm8580.0-001b",
-		.dai_fmt = SMDK_DAI_FMT,
-		.ops = &smdk_ops,
-	},
 };
 
 static struct snd_soc_card smdk = {
 	.name = "SMDK-I2S",
 	.owner = THIS_MODULE,
 	.dai_link = smdk_dai,
-	.num_links = 2,
+	.num_links = ARRAY_SIZE(smdk_dai),
 
 	.dapm_widgets = smdk_wm8580_dapm_widgets,
 	.num_dapm_widgets = ARRAY_SIZE(smdk_wm8580_dapm_widgets),
@@ -204,17 +191,6 @@  static struct platform_device *smdk_snd_device;
 static int __init smdk_audio_init(void)
 {
 	int ret;
-	char *str;
-
-	if (machine_is_smdkc100()
-			|| machine_is_smdkv210() || machine_is_smdkc110()) {
-		smdk.num_links = 3;
-	} else if (machine_is_smdk6410()) {
-		str = (char *)smdk_dai[PRI_PLAYBACK].cpu_dai_name;
-		str[strlen(str) - 1] = '2';
-		str = (char *)smdk_dai[PRI_CAPTURE].cpu_dai_name;
-		str[strlen(str) - 1] = '2';
-	}
 
 	smdk_snd_device = platform_device_alloc("soc-audio", -1);
 	if (!smdk_snd_device)