diff --git a/Makefile b/Makefile index acfe092e..7a529bc6 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,7 @@ subdir-ccflags-y += -Werror LINUX_VERSION := $(shell expr $(VERSION) \* 256 + $(PATCHLEVEL)) LINUX_VERSION_6_2 := $(shell expr 6 \* 256 + 2) LINUX_VERSION_6_3 := $(shell expr 6 \* 256 + 3) +LINUX_VERSION_6_4 := $(shell expr 6 \* 256 + 4) LINUX_VERSION_6_6 := $(shell expr 6 \* 256 + 6) # The Tegra IVC driver was updated to support iosys-map in Linux v6.2. @@ -26,6 +27,12 @@ ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_3); echo $$?),0) export CONFIG_TEGRA_GPIO_LEGACY_DISABLE=y endif +# Changes done in Linux 6.4 onwards +ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_4); echo $$?),0) +# Argument on class attribute callback changed to constant type +subdir-ccflags-y += -DNV_CLASS_ATTRIBUTE_STRUCT_HAS_CONST_STRUCT_CLASS_ARG +endif + # Changes done in Linux 6.6 onwards ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_6); echo $$?),0) # Move probe to DAI Ops. diff --git a/drivers/virt/tegra/tegra_hv.c b/drivers/virt/tegra/tegra_hv.c index 3b85a97b..87f87a4e 100644 --- a/drivers/virt/tegra/tegra_hv.c +++ b/drivers/virt/tegra/tegra_hv.c @@ -393,8 +393,13 @@ static void tegra_hv_cleanup(struct tegra_hv_data *hvd) } } +#if defined(NV_CLASS_ATTRIBUTE_STRUCT_HAS_CONST_STRUCT_CLASS_ARG) +static ssize_t vmid_show(const struct class *class, + const struct class_attribute *attr, char *buf) +#else static ssize_t vmid_show(struct class *class, struct class_attribute *attr, char *buf) +#endif { struct tegra_hv_data *hvd = get_hvd();