diff options
author | Tom Willemse | 2014-02-02 14:23:27 +0100 |
---|---|---|
committer | Tom Willemse | 2014-02-02 14:25:07 +0100 |
commit | cb97276bfbb30a0c28c02a8a6eac99e648b50f0d (patch) | |
tree | 0149e8d260e47c6732512609a02bb26c4aa1c6df /nvidia-drd/nvidia_3.13_kernel.patch | |
parent | c6f9b45fdbb2c80f6e3f492441df405102ddeb42 (diff) | |
download | pkgbuilds-cb97276bfbb30a0c28c02a8a6eac99e648b50f0d.tar.gz pkgbuilds-cb97276bfbb30a0c28c02a8a6eac99e648b50f0d.zip |
Update nvidia-drd
Diffstat (limited to 'nvidia-drd/nvidia_3.13_kernel.patch')
-rw-r--r-- | nvidia-drd/nvidia_3.13_kernel.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/nvidia-drd/nvidia_3.13_kernel.patch b/nvidia-drd/nvidia_3.13_kernel.patch new file mode 100644 index 0000000..c9dc7dd --- /dev/null +++ b/nvidia-drd/nvidia_3.13_kernel.patch @@ -0,0 +1,46 @@ +--- a/kernel/nv-acpi.c ++++ b/kernel/nv-acpi.c +@@ -15,6 +15,10 @@ + #include "nv-linux.h" + #include "nv-reg.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0) && defined(ACPI_HANDLE) ++#define DEVICE_ACPI_HANDLE(a) ACPI_HANDLE(a) ++#endif ++ + #if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED) + static RM_STATUS nv_acpi_extract_integer (const union acpi_object *, void *, NvU32, NvU32 *); + static RM_STATUS nv_acpi_extract_buffer (const union acpi_object *, void *, NvU32, NvU32 *); +@@ -303,7 +307,10 @@ static int nv_acpi_remove(struct acpi_de + + if (pNvAcpiObject->notify_handler_installed) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) ++ /* beginning with 3.13, acpi_remove_notify_handler() waits for events to finish */ + NV_ACPI_OS_WAIT_EVENTS_COMPLETE(); ++#endif + + // remove event notifier + status = acpi_remove_notify_handler(device->handle, ACPI_DEVICE_NOTIFY, nv_acpi_event); +--- a/kernel/uvm/nvidia_uvm_linux.h ++++ b/kernel/uvm/nvidia_uvm_linux.h +@@ -405,11 +405,17 @@ typedef void irqreturn_t; + // not require the RCU's read lock on current->cred. + // + // ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 5, 0) ++#define NV_KUID_TO_UID(value) (__kuid_val(value)) ++#else ++#define NV_KUID_TO_UID(value) (value) ++#endif ++ + #if defined(NV_TASK_STRUCT_HAS_CRED) + #define NV_CURRENT_EUID() \ +- (((typeof(*current->cred) __force __kernel *)current->cred)->euid) ++ NV_KUID_TO_UID(((typeof(*current->cred) __force __kernel *)current->cred)->euid) + #else +-#define NV_CURRENT_EUID() (current->euid) ++#define NV_CURRENT_EUID() NV_KUID_TO_UID(current->euid) + #endif + + #define NV_ATOMIC_SET(data,val) atomic_set(&(data), (val)) |