--- /dev/null
+diff -rupN NVIDIA-Linux-x86_64-331.38.orig/kernel/nv-acpi.c NVIDIA-Linux-x86_64-331.38/kernel/nv-acpi.c
+--- NVIDIA-Linux-x86_64-331.38.orig/kernel/nv-acpi.c 2014-01-25 09:39:47.126966926 +0100
++++ NVIDIA-Linux-x86_64-331.38/kernel/nv-acpi.c 2014-01-26 09:59:45.853427603 +0100
+@@ -303,7 +303,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);
+@@ -1076,10 +1079,17 @@ RM_STATUS NV_API_CALL nv_acpi_dsm_method
+ union acpi_object dsm_params[4];
+ NvU8 argument3[4]; /* For all DSM sub functions, input size is 4 */
+ acpi_handle dev_handle = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #endif
++#else
++#ifdef ACPI_HANDLE
++ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
++ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#endif
++#endif
+ if (!dev_handle)
+ return RM_ERR_NOT_SUPPORTED;
+
+@@ -1179,12 +1189,21 @@ RM_STATUS NV_API_CALL nv_acpi_ddc_method
+ NvU32 i;
+ acpi_handle dev_handle = NULL;
+ acpi_handle lcd_dev_handle = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #else
+ return RM_ERR_NOT_SUPPORTED;
+ #endif
++#else
++#ifdef ACPI_HANDLE
++ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
++ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#else
++ return RM_ERR_NOT_SUPPORTED;
++#endif
++#endif
+ if (!dev_handle)
+ return RM_ERR_INVALID_ARGUMENT;
+
+@@ -1294,12 +1313,21 @@ RM_STATUS NV_API_CALL nv_acpi_rom_method
+ union acpi_object rom_arg[2];
+ struct acpi_object_list input = { 2, rom_arg };
+ acpi_handle dev_handle = NULL;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ #ifdef DEVICE_ACPI_HANDLE
+ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
+ dev_handle = DEVICE_ACPI_HANDLE(&nvl->dev->dev);
+ #else
+ return RM_ERR_NOT_SUPPORTED;
+ #endif
++#else
++#ifdef ACPI_HANDLE
++ nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv);
++ dev_handle = ACPI_HANDLE(&nvl->dev->dev);
++#else
++ return RM_ERR_NOT_SUPPORTED;
++#endif
++#endif
+ if (!dev_handle)
+ return RM_ERR_INVALID_ARGUMENT;
+
%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
-%define rel 2
+%define rel 1
%define mname nvidia-legacy-304xx
%define pname xorg-driver-video-%{mname}
Summary: Linux Drivers for nVidia GeForce/Quadro Chips
Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez
Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro
Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
-Version: 304.117
+Version: 304.119
Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
Epoch: 1
License: nVidia Binary
Group: X11
Source0: http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run
-# Source0-md5: 023eb03da304a1842fc503c81e3c5694
+# Source0-md5: a2acb8066ac296005dbf560ee83ae6d9
Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run
-# Source1-md5: 8ee9f672028971c6d36118894d0e2c59
+# Source1-md5: fb93002115c99f15b6ca393a90a9c9ec
Source2: xinitrc.sh
Source3: gl.pc.in
Source4: 10-nvidia.conf
Source5: 10-nvidia-modules.conf
Patch0: X11-driver-nvidia-GL.patch
Patch1: X11-driver-nvidia-desktop.patch
+Patch2: linux-3.13.patch
URL: http://www.nvidia.com/object/unix.html
BuildRequires: rpmbuild(macros) >= 1.678
%{?with_dist_kernel:%{expand:%kbrs}}
%endif
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
%{?with_kernel:%{expand:%bkpkg}}