Message ID | 1479669895-19124-3-git-send-email-krzk@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | cd9e2b62768c21c051c585f9d4935b4fa6e9603e |
Headers | show |
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>
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.
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
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)
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(-)