diff options
author | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-10-20 15:28:57 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-10-20 15:28:57 +0700 |
commit | 4f444956d8cafe89e6032bf0d6593b7dff47d1b3 (patch) | |
tree | 42eef7e7c272ec9d3fdf09bc14a23197188c4cf8 /system | |
parent | 95f4516a1d0851fe036df42a55fa176c7fb15fdf (diff) |
system/nvidia-legacy470-kernel: Add patch for Linux Kernel 6.0.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system')
-rw-r--r-- | system/nvidia-legacy470-kernel/nvidia-legacy470-kernel-6.0.patch | 49 | ||||
-rw-r--r-- | system/nvidia-legacy470-kernel/nvidia-legacy470-kernel.SlackBuild | 5 |
2 files changed, 53 insertions, 1 deletions
diff --git a/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel-6.0.patch b/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel-6.0.patch new file mode 100644 index 0000000000..febc5cf7c5 --- /dev/null +++ b/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel-6.0.patch @@ -0,0 +1,49 @@ +diff --git a/nvidia-drm/nvidia-drm-helper.c b/nvidia-drm/nvidia-drm-helper.c +index 3831180..fa03d51 100644 +--- a/nvidia-drm/nvidia-drm-helper.c ++++ b/nvidia-drm/nvidia-drm-helper.c +@@ -41,6 +41,11 @@ + #include <drm/drm_atomic_uapi.h> + #endif + ++// Add header which is no longer indirectly referenced as of Linux 6.0-rc1 ++#if defined(NV_DRM_DRM_FRAMEBUFFER_H_PRESENT) ++#include <drm/drm_framebuffer.h> ++#endif ++ + static void __nv_drm_framebuffer_put(struct drm_framebuffer *fb) + { + #if defined(NV_DRM_FRAMEBUFFER_GET_PRESENT) +diff --git a/nvidia/nv-acpi.c b/nvidia/nv-acpi.c +index 2b7b988..76c36fa 100644 +--- a/nvidia/nv-acpi.c ++++ b/nvidia/nv-acpi.c +@@ -16,7 +16,10 @@ + + #include <linux/acpi.h> + +-#if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED) ++#include <linux/version.h> ++// Rel.commit "ACPI: bus: Drop unused list heads from struct acpi_device" (Rafael J. Wysocki, 4 Jun 2022) ++// Disable ACPI support due to more GPL stuff (acpi_dev_for_each_child is only GPL-exported) ++#if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)) + static NV_STATUS nv_acpi_extract_integer (const union acpi_object *, void *, NvU32, NvU32 *); + static NV_STATUS nv_acpi_extract_buffer (const union acpi_object *, void *, NvU32, NvU32 *); + static NV_STATUS nv_acpi_extract_package (const union acpi_object *, void *, NvU32, NvU32 *); +diff --git a/nvidia/nv.c b/nvidia/nv.c +index ab7d17c..e313e2e 100644 +--- a/nvidia/nv.c ++++ b/nvidia/nv.c +@@ -5423,7 +5423,8 @@ NvBool NV_API_CALL nv_s2idle_pm_configured(void) + { + NvU8 buf[8]; + +-#if defined(NV_SEQ_READ_ITER_PRESENT) ++// FIXME: Avoid this code path because on Linux 6.0-rc1, init_sync_kiocb references a GPL symbol ++#if defined(NV_SEQ_READ_ITER_PRESENT) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)) + struct file *file; + ssize_t num_read; + struct kiocb kiocb; +-- +2.37.1 + diff --git a/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel.SlackBuild b/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel.SlackBuild index be63ffdc72..cc44183677 100644 --- a/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel.SlackBuild +++ b/system/nvidia-legacy470-kernel/nvidia-legacy470-kernel.SlackBuild @@ -30,7 +30,7 @@ PRGNAM=nvidia-legacy470-kernel VERSION=${VERSION:-470.141.03} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -86,6 +86,9 @@ find -L . \ (cd kernel || exit 1 +# Patch for 6.0 kernel: +patch -p1 < $CWD/nvidia-legacy470-kernel-6.0.patch + unset ARCH # CC=${CC:-gcc} suppresses an otherwise harmless "compiler mismatch" |