diff options
author | Britney Fransen <brfransen@gmail.com> | 2017-06-07 20:49:26 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2017-06-07 20:49:26 (GMT) |
commit | 092fbc5206087dd046ba1619fa7f053d712b825f (patch) | |
tree | e5ae9e390a959a423a98605cc216937616e3c18a /abs/core/nvidia-340xx/4.11.0_kernel.patch | |
parent | 1102bb0c5ca441eff2cdfdb07ae9f7e7678e7740 (diff) | |
download | linhes_pkgbuild-092fbc5206087dd046ba1619fa7f053d712b825f.zip linhes_pkgbuild-092fbc5206087dd046ba1619fa7f053d712b825f.tar.gz linhes_pkgbuild-092fbc5206087dd046ba1619fa7f053d712b825f.tar.bz2 |
nvidia-340xx: rebuild for linux 4.9.31
Diffstat (limited to 'abs/core/nvidia-340xx/4.11.0_kernel.patch')
-rw-r--r-- | abs/core/nvidia-340xx/4.11.0_kernel.patch | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/abs/core/nvidia-340xx/4.11.0_kernel.patch b/abs/core/nvidia-340xx/4.11.0_kernel.patch new file mode 100644 index 0000000..5ee3e4f --- /dev/null +++ b/abs/core/nvidia-340xx/4.11.0_kernel.patch @@ -0,0 +1,112 @@ +--- a/kernel/nv-drm.c ++++ b/kernel/nv-drm.c +@@ -22,6 +22,8 @@ + #include <drm/drm_gem.h> + #endif + ++#include <linux/version.h> ++ + extern nv_linux_state_t *nv_linux_devices; + + struct nv_gem_object { +@@ -48,7 +50,11 @@ + return -ENODEV; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + static int nv_drm_unload( ++#else ++static void nv_drm_unload( ++#endif + struct drm_device *dev + ) + { +@@ -60,11 +66,19 @@ + { + BUG_ON(nvl->drm != dev); + nvl->drm = NULL; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + return 0; ++#else ++ return; ++#endif + } + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + return -ENODEV; ++#else ++ return; ++#endif + } + + static void nv_gem_free( + +--- a/kernel/uvm/nvidia_uvm_linux.h ++++ b/kernel/uvm/nvidia_uvm_linux.h +@@ -124,6 +124,9 @@ + #include <linux/delay.h> /* mdelay, udelay */ + + #include <linux/sched.h> /* suser(), capable() replacement */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++#include <linux/sched/signal.h> ++#endif + #include <linux/moduleparam.h> /* module_param() */ + #if !defined(NV_VMWARE) + #include <asm/tlbflush.h> /* flush_tlb(), flush_tlb_all() */ +@@ -362,6 +365,7 @@ + void address_space_init_once(struct address_space *mapping); + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + #if !defined(NV_FATAL_SIGNAL_PENDING_PRESENT) + static inline int __fatal_signal_pending(struct task_struct *p) + { +@@ -372,6 +376,7 @@ + { + return signal_pending(p) && __fatal_signal_pending(p); + } ++#endif + #endif + + // + +--- a/kernel/uvm/nvidia_uvm_lite.c ++++ b/kernel/uvm/nvidia_uvm_lite.c +@@ -818,7 +818,11 @@ + } + + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _fault(struct vm_fault *vmf) ++#else + int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) + unsigned long vaddr = (unsigned long)vmf->virtual_address; +@@ -828,7 +832,11 @@ + struct page *page = NULL; + int retval; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++ retval = _fault_common(NULL, vaddr, &page, vmf->flags); ++#else + retval = _fault_common(vma, vaddr, &page, vmf->flags); ++#endif + + vmf->page = page; + +@@ -866,7 +874,11 @@ + // it's dealing with anonymous mapping (see handle_pte_fault). + // + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _sigbus_fault(struct vm_fault *vmf) ++#else + int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + vmf->page = NULL; + return VM_FAULT_SIGBUS; + |