alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Jaechul Lee <jcsing.lee@samsung.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
	Sangbeom Kim <sbkim73@samsung.com>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
	Takashi Iwai <tiwai@suse.com>,
	alsa-devel@alsa-project.org
Cc: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
	galaxyra@gmail.com, Jaechul Lee <jcsing.lee@samsung.com>,
	Chanwoo Choi <cw00.choi@samsung.com>
Subject: [PATCH 1/3] ASoC: samsung: i2s: Use specific name for i2s dais
Date: Mon, 28 Aug 2017 19:01:00 +0900	[thread overview]
Message-ID: <20170828100102.17591-2-jcsing.lee@samsung.com> (raw)
In-Reply-To: <20170828100102.17591-1-jcsing.lee@samsung.com>

Add specific dais name when components are registered. Component and dai
name will follow their parent dev name, if the name isn't described.  In
case of this driver, each dais will have same name like '11440000.i2s0' by
fmt_single_name function.

The problem having same name is that TM2 machine driver can't detect
capture devices correctly. Machine driver doesn't know which one is proper
to use for cpu dai. The driver just selects to use 'samsung-i2c-sec' that
doesn't have capture functionality because the component of
samsung-i2s-sec is located in the first of the component_list.

I add dai name like 'samsung-i2s', 'samsung-i2s-sec' for each dais. The
reason why adding dai id to 1 is that it doesn't allow to use particular
dai name in case of when I use 0 for dai id.

Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
---
 sound/soc/samsung/i2s.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index af3ba4d4ccc5..9cdd36b9711c 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -1076,6 +1076,8 @@ static const struct snd_soc_component_driver samsung_i2s_component = {
 	.name		= "samsung-i2s",
 };
 
+#define SAMSUNG_I2S_DAI        "samsung-i2s"
+#define SAMSUNG_I2S_DAI_SEC    "samsung-i2s-sec"
 #define SAMSUNG_I2S_RATES	SNDRV_PCM_RATE_8000_96000
 
 #define SAMSUNG_I2S_FMTS	(SNDRV_PCM_FMTBIT_S8 | \
@@ -1093,6 +1095,7 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
 	i2s->pdev = pdev;
 	i2s->pri_dai = NULL;
 	i2s->sec_dai = NULL;
+	i2s->i2s_dai_drv.id = 1;
 	i2s->i2s_dai_drv.symmetric_rates = 1;
 	i2s->i2s_dai_drv.probe = samsung_i2s_dai_probe;
 	i2s->i2s_dai_drv.remove = samsung_i2s_dai_remove;
@@ -1105,10 +1108,13 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev, bool sec)
 	i2s->i2s_dai_drv.playback.formats = SAMSUNG_I2S_FMTS;
 
 	if (!sec) {
+		i2s->i2s_dai_drv.name = SAMSUNG_I2S_DAI;
 		i2s->i2s_dai_drv.capture.channels_min = 1;
 		i2s->i2s_dai_drv.capture.channels_max = 2;
 		i2s->i2s_dai_drv.capture.rates = SAMSUNG_I2S_RATES;
 		i2s->i2s_dai_drv.capture.formats = SAMSUNG_I2S_FMTS;
+	} else {
+		i2s->i2s_dai_drv.name = SAMSUNG_I2S_DAI_SEC;
 	}
 	return i2s;
 }
-- 
2.14.1

  parent reply	other threads:[~2017-08-28 10:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170828100105epcas2p459f6a7c311d08c965f429bf1f8d56a31@epcas2p4.samsung.com>
2017-08-28 10:00 ` [PATCH 0/3] Fix capture devices functionality on TM2 Jaechul Lee
     [not found]   ` <CGME20170828100105epcas2p18b821aec5caf1d690c33c2b1426d1a17@epcas2p1.samsung.com>
2017-08-28 10:01     ` Jaechul Lee [this message]
2017-09-01 10:17       ` [PATCH 1/3] ASoC: samsung: i2s: Use specific name for i2s dais Mark Brown
2017-09-03 20:01       ` Krzysztof Kozlowski
     [not found]   ` <CGME20170828100105epcas2p483d90d281f69aafa01d9acacc40c9da5@epcas2p4.samsung.com>
2017-08-28 10:01     ` [PATCH 2/3] ASoC: samsung: Use 'samsung-i2s' cpu_dai for dai_links Jaechul Lee
     [not found]   ` <CGME20170828100105epcas2p3b528f17ba89532835e9b1735a0016215@epcas2p3.samsung.com>
2017-08-28 10:01     ` [PATCH 3/3] ASoC: samsung: Fix invalid argument when devm_gpiod_get is called Jaechul Lee
2017-09-03 20:07       ` Krzysztof Kozlowski
2017-09-19 14:59       ` Applied "ASoC: samsung: Fix invalid argument when devm_gpiod_get is called" to the asoc tree Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170828100102.17591-2-jcsing.lee@samsung.com \
    --to=jcsing.lee@samsung.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=galaxyra@gmail.com \
    --cc=krzk@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=s.nawrocki@samsung.com \
    --cc=sbkim73@samsung.com \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).