sound: soc: Use conftest to find if asoc_simple_xxx renamed

In Linux v6.7, commit b5a95c5bf6d69 ("ASoC: simple_card_utils.h: convert
not to use asoc_xxx()") add new APIs to convert asoc_simple_xxx() to
simple_util_xxx().

Use the conftest to find if soc_snd_util_xxx() present.

Bug 4346767

Change-Id: I3b282eb08d51c997760cc0b9752438c94e3caae5
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028578
(cherry picked from commit 3013b107c1)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036788
Reviewed-by: Jonathan Hunter <jonathanh@nvidia.com>
Tested-by: Jonathan Hunter <jonathanh@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Laxman Dewangan
2023-12-05 13:35:41 +00:00
committed by mobile promotions
parent 4ab98ef641
commit 1432eb248d
5 changed files with 41 additions and 9 deletions

View File

@@ -53,11 +53,6 @@ subdir-ccflags-y += -DNV_V4L2_ASYNC_NF_SUBDEVICE_INIT_RENAME
export CONFIG_SKIP_CRYPTO=y
endif
# Changes done in Linux 6.7 onwards
ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_7); echo $$?),0)
subdir-ccflags-y += -DNV_ASOC_XXX_DROP
endif
ifeq ($(CONFIG_TEGRA_VIRTUALIZATION),y)
subdir-ccflags-y += -DCONFIG_TEGRA_VIRTUALIZATION
endif

View File

@@ -132,6 +132,8 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_card_jack_new_has_no_snd_soc_jack_
NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_component_driver_struct_has_non_legacy_dai_naming
NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_dai_link_struct_has_c2c_params_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_of_get_dai_name_has_index_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_rtd_to_codec
NV_CONFTEST_FUNCTION_COMPILE_TESTS += simple_util_dai_init
NV_CONFTEST_FUNCTION_COMPILE_TESTS += tc_taprio_qopt_offload_struct_has_cmd
NV_CONFTEST_FUNCTION_COMPILE_TESTS += tegra_dev_iommu_get_stream_id
NV_CONFTEST_FUNCTION_COMPILE_TESTS += tegra_ivc_struct_has_iosys_map

View File

@@ -7152,6 +7152,41 @@ compile_test() {
compile_check_conftest "$CODE" "NV_SND_SOC_OF_GET_DAI_NAME_HAS_INDEX_ARG" "" "types"
;;
snd_soc_rtd_to_codec)
#
# Determine if the snd_soc_rtd_to_codec() present or not
#
# In Linux v6.7, commit 1d5a2b5dd0a8d2 ("ASoC: soc.h: convert asoc_xxx()
# to snd_soc_xxx()") to replace all asoc_xxx() to snd_soc_xxx().
#
CODE="
#include <sound/soc.h>
void conftest_snd_soc_rtd_to_codec(void) {
snd_soc_rtd_to_codec();
}"
compile_check_conftest "$CODE" "NV_SND_SOC_RTD_TO_CODEC_PRESENT" "" "functions"
;;
simple_util_dai_init)
#
# Determine if the simple_util_dai_init() is present. This will help on finding
# if asoc_simple_xxx() renamed to simple_util_xxx()
#
# In Linux v6.7, commit b5a95c5bf6d69 ("ASoC: simple_card_utils.h: convert
# not to use asoc_xxx()") add new APIs to convert asoc_simple_xxx() to
# simple_util_xxx().
#
CODE="
#include <sound/soc.h>
#include <sound/simple_card_utils.h>
void conftest_simple_util_dai_init(void) {
simple_util_dai_init();
}"
compile_check_conftest "$CODE" "NV_ASOC_SIMPLE_RENAMED_SIMPLE" "" "functions"
;;
tc_taprio_qopt_offload_struct_has_cmd)
#
# Determine if struct tc_taprio_qopt_offload has a member named cmd

View File

@@ -498,7 +498,7 @@ static int parse_dt_dai_links(struct snd_soc_card *card,
if (of_property_read_string(link_node,
"link-name",
&dai_link->name)) {
#if defined(NV_ASOC_XXX_DROP)
#if defined(NV_ASOC_SIMPLE_RENAMED_SIMPLE) /* Linux 6.7 */
ret = simple_util_set_dailink_name(
&pdev->dev, dai_link, "%s-%d",
"tegra-dlink", link_count);
@@ -511,7 +511,7 @@ static int parse_dt_dai_links(struct snd_soc_card *card,
goto cleanup;
}
#if defined(NV_ASOC_XXX_DROP)
#if defined(NV_ASOC_SIMPLE_RENAMED_SIMPLE) /* Linux 6.7 */
simple_util_parse_daifmt(&pdev->dev, link_node, codec,
NULL, &dai_link->dai_fmt);
@@ -596,7 +596,7 @@ int parse_card_info(struct snd_soc_card *card, struct snd_soc_ops *pcm_ops,
struct device_node *node = card->dev->of_node;
int ret;
#if defined(NV_ASOC_XXX_DROP)
#if defined(NV_ASOC_SIMPLE_RENAMED_SIMPLE) /* Linux 6.7 */
ret = simple_util_parse_card_name(card, PREFIX);
#else
ret = asoc_simple_parse_card_name(card, PREFIX);

View File

@@ -22,7 +22,7 @@
static int tegra_audio_dai_init(struct snd_soc_pcm_runtime *rtd)
{
/* Used for audio graph based sound cards only */
#if defined(NV_ASOC_XXX_DROP)
#if defined(NV_ASOC_SIMPLE_RENAMED_SIMPLE) /* Linux 6.7 */
if (rtd->card->component_chaining)
return simple_util_dai_init(rtd);
#else