diff mbox

ASoC: rt5645: Set card long_name for GPD win / pocket

Message ID 20171211212640.10060-1-hdegoede@redhat.com (mailing list archive)
State Accepted
Commit aa9c387c2dc25597b730cd8386cac8ccfe75de07
Headers show

Commit Message

Hans de Goede Dec. 11, 2017, 9:26 p.m. UTC
The GPD win and pocket devices both use the same codec setup and both
have too generic dmi strings making snd_soc_set_dmi_name() not work.

As these devices have only a single speaker we want a separate ucm
file for them, which requires a unique long_name, use the existing
GPD quirk handling to also provide a unique long_name.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 include/sound/rt5645.h    | 3 +++
 sound/soc/codecs/rt5645.c | 4 ++++
 2 files changed, 7 insertions(+)

Comments

Takashi Iwai Dec. 18, 2017, 2:16 p.m. UTC | #1
On Mon, 11 Dec 2017 22:26:40 +0100,
Hans de Goede wrote:
> 
> The GPD win and pocket devices both use the same codec setup and both
> have too generic dmi strings making snd_soc_set_dmi_name() not work.
> 
> As these devices have only a single speaker we want a separate ucm
> file for them, which requires a unique long_name, use the existing
> GPD quirk handling to also provide a unique long_name.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Since Mark already took this patch, could you provide the UCM profile
for the corresponding update, too?


thanks,

Takashi
Hans de Goede Dec. 24, 2017, 10:45 a.m. UTC | #2
Hi,

On 18-12-17 15:16, Takashi Iwai wrote:
> On Mon, 11 Dec 2017 22:26:40 +0100,
> Hans de Goede wrote:
>>
>> The GPD win and pocket devices both use the same codec setup and both
>> have too generic dmi strings making snd_soc_set_dmi_name() not work.
>>
>> As these devices have only a single speaker we want a separate ucm
>> file for them, which requires a unique long_name, use the existing
>> GPD quirk handling to also provide a unique long_name.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Since Mark already took this patch, could you provide the UCM profile
> for the corresponding update, too?

I've been trying to get the analog microphone input on these devices
to work, so that I can submit a complete UCM profile in one go.

But all my attempts have failed, I've send Bard Liao a mail about this,
with alsa-devel in the Cc. I hope Bard can help me to get the microphone
to work. If that fails / take to long I will submit a version with
just the monospeaker routing in a couple of weeks.

Regards,

Hans
diff mbox

Patch

diff --git a/include/sound/rt5645.h b/include/sound/rt5645.h
index d0c33a9972b9..f218c742f08e 100644
--- a/include/sound/rt5645.h
+++ b/include/sound/rt5645.h
@@ -25,6 +25,9 @@  struct rt5645_platform_data {
 	bool level_trigger_irq;
 	/* Invert JD1_1 status polarity */
 	bool inv_jd1_1;
+
+	/* Value to asign to snd_soc_card.long_name */
+	const char *long_name;
 };
 
 #endif
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index f020d2d1eef4..5e34e24c01ab 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -3394,6 +3394,9 @@  static int rt5645_probe(struct snd_soc_codec *codec)
 		snd_soc_dapm_sync(dapm);
 	}
 
+	if (rt5645->pdata.long_name)
+		codec->component.card->long_name = rt5645->pdata.long_name;
+
 	rt5645->eq_param = devm_kzalloc(codec->dev,
 		RT5645_HWEQ_NUM * sizeof(struct rt5645_eq_param_s), GFP_KERNEL);
 
@@ -3624,6 +3627,7 @@  static const struct dmi_system_id dmi_platform_intel_broadwell[] = {
 static const struct rt5645_platform_data gpd_win_platform_data = {
 	.jd_mode = 3,
 	.inv_jd1_1 = true,
+	.long_name = "gpd-win-pocket-rt5645",
 };
 
 static const struct dmi_system_id dmi_platform_gpd_win[] = {