virt: hvc_sysfs: Fix build for Linux v6.13

In Linux v6.13, commit 94a20fb9af16 ("sysfs: treewide: constify
attribute callback of bin_attribute::mmap()") changed the type of the
'struct bin_attribute' argument of the bin_attribute:mmap function
pointer to const. Use conftest to detect if this argument is const or
not in the kernel the driver is being compiled against to fix the build.

Bug 4991705

Change-Id: I791d6c9dde50f1444d0339ebd8a18434045f9026
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3261699
(cherry picked from commit fae042552e211199a160e5d6a82a67edd7b7e03c)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3321698
Reviewed-by: Brad Griffis <bgriffis@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Jon Hunter
2024-12-03 17:54:29 +00:00
committed by mobile promotions
parent 63a08013a0
commit a2b53ade55
3 changed files with 31 additions and 2 deletions

View File

@@ -6502,6 +6502,27 @@ compile_test() {
compile_check_conftest "$CODE" "NV___ALLOC_DISK_NODE_HAS_LKCLASS_ARG" "" "types"
;;
bin_attribute_struct_mmap_has_const_bin_attribute_arg)
#
# Determine if the 'bin_attribute' structure 'mmap' function pointer
# has const 'struct bin_attribute' argument.
#
# Commit 94a20fb9af16 ("sysfs: treewide: constify attribute callback
# of bin_attribute::mmap()") updated the 'mmap' function pointer to
# take a const 'bin_attribute' structure in Linux v6.13.
#
CODE="
#include <linux/sysfs.h>
void conftest(struct bin_attribute *attr) {
int (*fn)(struct file *, struct kobject *,
const struct bin_attribute *,
struct vm_area_struct *) = attr->mmap;
}"
compile_check_conftest "$CODE" \
"NV_BIN_ATTRIBUTE_STRUCT_MMAP_HAS_CONST_BIN_ATTRIBUTE_ARG" "" "types"
;;
blk_execute_rq_has_no_gendisk_arg)
#
# Determine if the function blk_execute_rq() has an argument of