mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
misc: mods: Fix build for Linux v6.11
In Linux v6.11, the 'platform_driver' structure 'remove' callback was updated to return void instead of 'int'. Update the MODS drivers as necessary to fix this. Note that we can simply remove the mods_dmabuf 'remove' function because it does nothing. Bug 4749580 Change-Id: I8ac05a7b713916b9aca1694ca828682808df3287 Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3235514 GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com> Reviewed-by: Chris Dragan <kdragan@nvidia.com> Reviewed-by: Carl Dong <carld@nvidia.com>
This commit is contained in:
@@ -1,15 +1,10 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
# SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
||||
|
||||
LINUX_VERSION := $(shell expr $(VERSION) \* 256 + $(PATCHLEVEL))
|
||||
LINUX_VERSION_6_11 := $(shell expr 6 \* 256 + 11)
|
||||
|
||||
# MODS is currently broken for Linux v6.11 and later
|
||||
ifeq ($(shell test $(LINUX_VERSION) -lt $(LINUX_VERSION_6_11); echo $$?),0)
|
||||
ifndef CONFIG_TEGRA_SYSTEM_TYPE_ACK
|
||||
obj-m += mods/
|
||||
endif
|
||||
endif
|
||||
obj-m += nvsciipc/
|
||||
ifdef CONFIG_PCI
|
||||
obj-m += tegra-pcie-dma-test.o
|
||||
|
||||
@@ -516,12 +516,20 @@ static int tegra_dma_driver_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if KERNEL_VERSION(6, 11, 0) <= MODS_KERNEL_VERSION
|
||||
static void tegra_dma_driver_remove(struct platform_device *pdev)
|
||||
{
|
||||
put_device(&pdev->dev);
|
||||
mods_tegra_dma_dev = NULL;
|
||||
}
|
||||
#else
|
||||
static int tegra_dma_driver_remove(struct platform_device *pdev)
|
||||
{
|
||||
put_device(&pdev->dev);
|
||||
mods_tegra_dma_dev = NULL;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct of_device_id of_ids[] = {
|
||||
{ .compatible = "nvidia,mods_tegra_dma" },
|
||||
|
||||
@@ -114,11 +114,6 @@ static int mods_dmabuf_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mods_dmabuf_remove(struct platform_device *pdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct of_device_id of_ids[] = {
|
||||
{ .compatible = "nvidia,mods_test" },
|
||||
{ }
|
||||
@@ -126,7 +121,6 @@ static const struct of_device_id of_ids[] = {
|
||||
|
||||
static struct platform_driver mods_dummy_driver = {
|
||||
.probe = mods_dmabuf_probe,
|
||||
.remove = mods_dmabuf_remove,
|
||||
.driver = {
|
||||
.name = "nvidia_mods_dummy_driver",
|
||||
.owner = THIS_MODULE,
|
||||
|
||||
@@ -98,11 +98,18 @@ static int mods_smmu_driver_probe(struct platform_device *pdev)
|
||||
return err;
|
||||
}
|
||||
|
||||
#if KERNEL_VERSION(6, 11, 0) <= MODS_KERNEL_VERSION
|
||||
static void mods_smmu_driver_remove(struct platform_device *pdev)
|
||||
{
|
||||
mods_smmu_dev_num = 0;
|
||||
}
|
||||
#else
|
||||
static int mods_smmu_driver_remove(struct platform_device *pdev)
|
||||
{
|
||||
mods_smmu_dev_num = 0;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct of_device_id of_ids[] = {
|
||||
{ .compatible = "nvidia,mods_smmu" },
|
||||
|
||||
Reference in New Issue
Block a user