diff --git a/srcpkgs/nvidia/files/linux-3.18-drm.patch b/srcpkgs/nvidia/files/linux-3.18-drm.patch new file mode 100644 index 00000000000..2bb619476ab --- /dev/null +++ b/srcpkgs/nvidia/files/linux-3.18-drm.patch @@ -0,0 +1,44 @@ +--- kernel/nv-drm.c~ 2014-11-08 00:57:53.000000000 +0100 ++++ kernel/nv-drm.c 2014-11-13 21:03:37.589650873 +0100 +@@ -128,6 +128,10 @@ static struct drm_driver nv_drm_driver = + .gem_prime_vmap = nv_gem_prime_vmap, + .gem_prime_vunmap = nv_gem_prime_vunmap, + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) ++ .set_busid = drm_pci_set_busid, ++#endif ++ + .name = "nvidia-drm", + .desc = "NVIDIA DRM driver", + .date = "20130102", +--- kernel/nv-frontend.c~ ++++ kernel/nv-frontend.c +@@ -327,7 +327,7 @@ long nvidia_frontend_unlocked_ioctl( + unsigned long i_arg + ) + { +- return nvidia_frontend_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++ return nvidia_frontend_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); + } + + long nvidia_frontend_compat_ioctl( +@@ -336,7 +336,7 @@ long nvidia_frontend_compat_ioctl( + unsigned long i_arg + ) + { +- return nvidia_frontend_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++ return nvidia_frontend_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); + } + + int nvidia_frontend_mmap( +--- kernel/nv.c~ ++++ kernel/nv.c +@@ -1796,7 +1796,7 @@ nvidia_unlocked_ioctl( + unsigned long i_arg + ) + { +- return nvidia_ioctl(file->f_dentry->d_inode, file, cmd, i_arg); ++ return nvidia_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg); + } + + /* diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template index 9c8817a05a3..c3c0ee23925 100644 --- a/srcpkgs/nvidia/template +++ b/srcpkgs/nvidia/template @@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux" pkgname=nvidia version=343.36 -revision=2 +revision=3 maintainer="Juan RP " license="Propietary NVIDIA license" homepage="http://www.nvidia.com" @@ -37,6 +37,10 @@ do_extract() { ./${_pkg}.run --extract-only rm -f ${_pkg}.run } +do_configure() { + cd ${_pkg} + patch -sNp0 -i ${FILESDIR}/linux-3.18-drm.patch +} do_install() { cd ${_pkg}