From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Naveen Manohar <naveen.m@intel.com>, alsa-devel@alsa-project.org
Cc: vinod.koul@intel.com, harshapriya.n@intel.com,
broonie@kernel.org, pierre-louis.bossart@intel.com
Subject: Re: [PATCH v2 3/5] ASoC: Intel: Add Geminilake Dialog Maxim machine driver support
Date: Wed, 11 Apr 2018 11:20:10 -0500 [thread overview]
Message-ID: <8fefaa36-2682-a604-4af9-6d4a2575c4f9@linux.intel.com> (raw)
In-Reply-To: <1523442303-12710-4-git-send-email-naveen.m@intel.com>
geminilake audio machine driver for SPT + DA7219 */
> +static struct snd_soc_card glk_audio_card_da7219_m98357a = {
> + .name = "glkda7219max",
> + .owner = THIS_MODULE,
> + .dai_link = broxton_dais,
> + .num_links = ARRAY_SIZE(broxton_dais),
> + .controls = broxton_controls,
> + .num_controls = ARRAY_SIZE(broxton_controls),
> + .dapm_widgets = broxton_widgets,
> + .num_dapm_widgets = ARRAY_SIZE(broxton_widgets),
> + .dapm_routes = audio_map,
> + .num_dapm_routes = ARRAY_SIZE(audio_map),
> + .fully_routed = true,
> + .late_probe = bxt_card_late_probe,
> +};
> +
> +static char glk_spk_dai_name[10];
> +static char glk_hs_dai_name[10];
Off-by-one? "SSPx-Codec" would be 11 chars if you include null termination.
> +
> static int broxton_audio_probe(struct platform_device *pdev)
> {
> struct bxt_card_private *ctx;
> + int dai_index = 8;
maybe better to do an explicit search that hard-code values?
This will actually not work if you have an additional FE for headset on
GLK, or you are assuming a dependency on a patch added later in the
series - not good.
>
> ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC);
> if (!ctx)
> @@ -584,18 +638,54 @@ static int broxton_audio_probe(struct platform_device *pdev)
>
> INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
>
> - broxton_audio_card.dev = &pdev->dev;
> - snd_soc_card_set_drvdata(&broxton_audio_card, ctx);
> + audio_card =
> + (struct snd_soc_card *)pdev->id_entry->driver_data;
> +
> + audio_card->dev = &pdev->dev;
> + snd_soc_card_set_drvdata(audio_card, ctx);
> +
> + if (is_geminilake()) {
> + /* fixup name & cpu_dai_name for SPK */
> + snprintf(glk_spk_dai_name,
> + sizeof(glk_spk_dai_name), "%s", "SSP1-Codec");
> + broxton_dais[dai_index].name = glk_spk_dai_name;
> + snprintf(glk_spk_dai_name,
> + sizeof(glk_spk_dai_name), "%s", "SSP1 Pin");
> + broxton_dais[dai_index].cpu_dai_name = glk_spk_dai_name;
does this work? You have the dai_name and cpu_dai_name pointing to the
same string?
> + /* fixup name & cpu_dai_name for HS*/
> + dai_index++;
> + snprintf(glk_hs_dai_name,
> + sizeof(glk_hs_dai_name), "%s", "SSP2-Codec");
> + broxton_dais[dai_index].name = glk_hs_dai_name;
> + snprintf(glk_hs_dai_name,
> + sizeof(glk_hs_dai_name), "%s", "SSP2 Pin");
> + broxton_dais[dai_index].cpu_dai_name = glk_hs_dai_name;
same here?
> + }
>
> - return devm_snd_soc_register_card(&pdev->dev, &broxton_audio_card);
> + return devm_snd_soc_register_card(&pdev->dev, audio_card);
> }
>
> +static const struct platform_device_id bxt_board_ids[] = {
> + {
> + .name = "bxt_da7219_max98357a",
> + .driver_data =
> + (kernel_ulong_t)&bxt_audio_card_da7219_m98357a,
> + },
> + {
> + .name = "glk_da7219_max98357a",
> + .driver_data =
> + (kernel_ulong_t)&glk_audio_card_da7219_m98357a,
> + },
> + { }
> +};
> +
> static struct platform_driver broxton_audio = {
> .probe = broxton_audio_probe,
> .driver = {
> .name = "bxt_da7219_max98357a",
> .pm = &snd_soc_pm_ops,
> },
> + .id_table = bxt_board_ids,
> };
> module_platform_driver(broxton_audio)
>
> @@ -605,5 +695,7 @@ MODULE_AUTHOR("Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>");
> MODULE_AUTHOR("Rohit Ainapure <rohit.m.ainapure@intel.com>");
> MODULE_AUTHOR("Harsha Priya <harshapriya.n@intel.com>");
> MODULE_AUTHOR("Conrad Cooke <conrad.cooke@intel.com>");
> +MODULE_AUTHOR("Naveen Manohar <naveen.m@intel.com>");
> MODULE_LICENSE("GPL v2");
> MODULE_ALIAS("platform:bxt_da7219_max98357a");
> +MODULE_ALIAS("platform:glk_da7219_max98357a");
>
next prev parent reply other threads:[~2018-04-11 16:20 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-11 10:24 [alsa-devel] [PATCH v2 0/5] ASoC: Intel: geminilake: Adds da7219+max98537 machine driver support Naveen Manohar
2018-04-11 10:24 ` [alsa-devel] [PATCH v2 1/5] ASoC: Intel: broxton: reduce machine name for bxt_da7219_max98357a Naveen Manohar
2018-04-11 10:25 ` [alsa-devel] [PATCH v2 2/5] ASoC: Intel: Headset button support in broxton machine driver Naveen Manohar
2018-04-11 10:25 ` [alsa-devel] [PATCH v2 3/5] ASoC: Intel: Add Geminilake Dialog Maxim machine driver support Naveen Manohar
2018-04-11 16:20 ` Pierre-Louis Bossart [this message]
2018-04-11 16:34 ` Mark Brown
2018-04-11 17:06 ` Pierre-Louis Bossart
2018-04-11 17:33 ` Naveen M
2018-04-11 10:25 ` [alsa-devel] [PATCH v2 4/5] ASoC: Intel: glk: Add DAI links for Multi-Playback Naveen Manohar
2018-04-11 10:25 ` [alsa-devel] [PATCH v2 5/5] ASoC: Intel: Add Geminilake Dialog+Maxim machine driver entry Naveen Manohar
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=8fefaa36-2682-a604-4af9-6d4a2575c4f9@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=harshapriya.n@intel.com \
--cc=naveen.m@intel.com \
--cc=pierre-louis.bossart@intel.com \
--cc=vinod.koul@intel.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 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.