Message ID | 20171211212640.10060-1-hdegoede@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | aa9c387c2dc25597b730cd8386cac8ccfe75de07 |
Headers | show |
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
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 --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[] = {
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(+)