nvmap: Use conftest to finding shrinker_alloc() presence

Use conftest to find whether shrinker_alloc() is present
or not.
In Linux v6.7, commit c42d50aefd17 ("mm: shrinker: add infrastructure for
dynamically allocating shrinker") added this API.

Bug 4346767

Change-Id: Ida724bb31d3c4db650b3a5742c5972f984cb9152
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3028574
(cherry picked from commit 3b457a1293)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3036795
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Laxman Dewangan
2023-12-05 10:07:13 +00:00
committed by mobile promotions
parent 020bdeded8
commit f255a170a7
4 changed files with 22 additions and 9 deletions

View File

@@ -130,6 +130,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_disable_pcie_error_reporting
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_enable_pcie_error_reporting
NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_epf_driver_struct_probe_has_id_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += register_shrinker_has_fmt_arg
NV_CONFTEST_FUNCTION_COMPILE_TESTS += shrinker_alloc
NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_card_jack_new_has_no_snd_soc_jack_pins
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

View File

@@ -7108,6 +7108,24 @@ compile_test() {
compile_check_conftest "$CODE" "NV_REQUEST_STRUCT_HAS_COMPLETION_DATA_ARG" "" "types"
;;
shrinker_alloc)
#
# Determine if the shrinker alloc present or not.
#
# In Linux v6.7, commit c42d50aefd17 ("mm: shrinker: add infrastructure for
# dynamically allocating shrinker")
#
CODE="
#include <linux/atomic.h>
#include <linux/compiler_attributes.h>
#include <linux/shrinker.h>
void conftest_shrinker_alloc(void) {
shrinker_alloc();
}"
compile_check_conftest "$CODE" "NV_SHRINKER_ALLOC_PRESENT" "" "functions"
;;
snd_soc_card_jack_new_has_no_snd_soc_jack_pins)
#
# Determine if the function snd_soc_card_jack_new() has 'pins' and