From: Vinod Koul <vinod.koul@intel.com>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: jeremy@jcline.org, alsa-devel@alsa-project.org, tiwai@suse.de,
liam.r.girdwood@linux.intel.com, broonie@kernel.org,
andriy.shevchenko@linux.intel.com
Subject: Re: [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: fix HID handling
Date: Mon, 8 Jan 2018 10:13:21 +0530 [thread overview]
Message-ID: <20180108044321.GX18649@localhost> (raw)
In-Reply-To: <20180105205536.10366-4-pierre-louis.bossart@linux.intel.com>
On Fri, Jan 05, 2018 at 02:55:35PM -0600, Pierre-Louis Bossart wrote:
> Same problem as with previous machine drivers, the codec dai
> uses a hard-coded name of "i2c-ESSX8316:00" but ACPI provides
> "i2c-ESSX8316:01" in some systems.
>
> Fix by overriding the hard-coded value with the codec name derived
> from the HID information
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=189261
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> ---
> sound/soc/intel/boards/Kconfig | 1 +
> sound/soc/intel/boards/bytcht_es8316.c | 26 +++++++++++++++++++++++++-
> 2 files changed, 26 insertions(+), 1 deletion(-)
>
> diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
> index 89a73e3d9d2d..4af2393160bf 100644
> --- a/sound/soc/intel/boards/Kconfig
> +++ b/sound/soc/intel/boards/Kconfig
> @@ -153,6 +153,7 @@ config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
> config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
> tristate "Baytrail & Cherrytrail with ES8316 codec"
> depends on X86_INTEL_LPSS && I2C && ACPI
> + select SND_SOC_ACPI
> select SND_SOC_ES8316
> help
> This adds support for ASoC machine driver for Intel(R) Baytrail &
> diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
> index 8088396717e3..ae24f6205f05 100644
> --- a/sound/soc/intel/boards/bytcht_es8316.c
> +++ b/sound/soc/intel/boards/bytcht_es8316.c
> @@ -232,15 +232,39 @@ static struct snd_soc_card byt_cht_es8316_card = {
> .fully_routed = true,
> };
>
> +static char codec_name[16]; /* i2c-<HID>:00 with HID being 8 chars */
> +
> static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
> {
> - int ret = 0;
> struct byt_cht_es8316_private *priv;
> + struct snd_soc_acpi_mach *mach;
> + const char *i2c_name = NULL;
> + int dai_index = 0;
> + int i;
> + int ret = 0;
>
> priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_ATOMIC);
> if (!priv)
> return -ENOMEM;
>
> + mach = (&pdev->dev)->platform_data;
> + /* fix index of codec dai */
> + for (i = 0; i < ARRAY_SIZE(byt_cht_es8316_dais); i++) {
> + if (!strcmp(byt_cht_es8316_dais[i].codec_name,
> + "i2c-ESSX8316:00")) {
> + dai_index = i;
> + break;
> + }
> + }
> +
> + /* fixup codec name based on HID */
> + i2c_name = snd_soc_acpi_find_name_from_hid(mach->id);
> + if (i2c_name) {
> + snprintf(codec_name, sizeof(codec_name),
> + "%s%s", "i2c-", i2c_name);
> + byt_cht_es8316_dais[dai_index].codec_name = codec_name;
> + }
this looks good, but I though we had few other places where this was done,
esp the BSW based chromebooks, if so would it make send to have a macro in
soc-acpi which updates the dai name based on the result from
snd_soc_acpi_find_name_from_hid()
> +
> /* register the soc card */
> byt_cht_es8316_card.dev = &pdev->dev;
> snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
> --
> 2.14.1
>
--
~Vinod
next prev parent reply other threads:[~2018-01-08 4:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-05 20:55 [PATCH v2 0/4] ASoC: Intel: ACPI-related fixes Pierre-Louis Bossart
2018-01-05 20:55 ` [PATCH v2 1/4] ASoC: acpi: fix machine driver selection based on quirk Pierre-Louis Bossart
2018-01-08 12:35 ` Applied "ASoC: acpi: fix machine driver selection based on quirk" to the asoc tree Mark Brown
2018-01-05 20:55 ` [PATCH v2 2/4] ASoC: Replace snd_soc_acpi_check_hid with acpi_dev_present Pierre-Louis Bossart
2018-01-08 16:23 ` Applied "ASoC: Replace snd_soc_acpi_check_hid with acpi_dev_present" to the asoc tree Mark Brown
2018-01-05 20:55 ` [PATCH v2 3/4] ASoC: Intel: bytcht_es8316: fix HID handling Pierre-Louis Bossart
2018-01-08 4:43 ` Vinod Koul [this message]
2018-01-08 20:23 ` Pierre-Louis Bossart
2018-01-09 4:48 ` Vinod Koul
2018-01-09 10:40 ` Andy Shevchenko
2018-01-05 20:55 ` [PATCH v2 4/4] ASoC: acpi: remove hard-coded i2c-device name length Pierre-Louis Bossart
2018-01-08 4:41 ` Vinod Koul
2018-01-08 20:28 ` Pierre-Louis Bossart
2018-01-09 10:39 ` Andy Shevchenko
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=20180108044321.GX18649@localhost \
--to=vinod.koul@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=broonie@kernel.org \
--cc=jeremy@jcline.org \
--cc=liam.r.girdwood@linux.intel.com \
--cc=pierre-louis.bossart@linux.intel.com \
--cc=tiwai@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.