// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) // // This file is provided under a dual BSD/GPLv2 license. When using or // redistributing this file, you may do so under either license. // // Copyright(c) 2021 Advanced Micro Devices, Inc. // // Authors: Ajit Kumar Pandey <AjitKumar.Pandey@amd.com> //
/* * Machine Driver Legacy Support for ACP HW block
*/
/* If widgets and controls are not set in specific callback, * they will be added per-codec in acp-mach-common.c
*/
ret = acp_ops_configure_widgets(card); if (ret < 0) {
dev_err(&pdev->dev, "Cannot configure widgets for card (%s): %d\n",
card->name, ret); goto out;
}
card->suspend_pre = acp_asoc_suspend_pre;
card->resume_post = acp_asoc_resume_post;
ret = acp_ops_probe(card); if (ret < 0) {
dev_err(&pdev->dev, "Cannot probe card (%s): %d\n",
card->name, ret); goto out;
} if (!strcmp(pdev->name, "acp-pdm-mach"))
acp_card_drvdata->acp_rev = *((int *)dev->platform_data); else
acp_card_drvdata->acp_rev = mach->mach_params.subsystem_rev;
dmi_id = dmi_first_match(acp_quirk_table); if (dmi_id && dmi_id->driver_data)
acp_card_drvdata->tdm_mode = dmi_id->driver_data;
ret = acp_legacy_dai_links_create(card); if (ret) {
dev_err(&pdev->dev, "Cannot create dai links for card (%s): %d\n",
card->name, ret); goto out;
}
ret = devm_snd_soc_register_card(&pdev->dev, card); if (ret) {
dev_err(&pdev->dev, "devm_snd_soc_register_card(%s) failed: %d\n",
card->name, ret); goto out;
}
out: return ret;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.