]> git.pld-linux.org Git - packages/X11-driver-nvidia-legacy.git/blame - NVIDIA_kernel-1.0-7174-1296092.diff
- updated for 7182
[packages/X11-driver-nvidia-legacy.git] / NVIDIA_kernel-1.0-7174-1296092.diff
CommitLineData
e6475696 1diff -ru usr/src/nv/nv-linux.h usr/src/nv.1296092/nv-linux.h
2--- usr/src/nv/nv-linux.h 2005-03-22 16:19:09.000000000 +0100
3+++ usr/src/nv.1296092/nv-linux.h 2005-06-14 16:55:30.416687848 +0200
4@@ -76,7 +76,7 @@
5 #include <asm/page.h> /* PAGE_OFFSET */
6 #include <asm/pgtable.h> /* pte bit definitions */
7
8-#if defined(NVCPU_X86_64) && defined(KERNEL_2_6)
9+#if defined(NVCPU_X86_64) && defined(KERNEL_2_6) && !defined(HAVE_COMPAT_IOCTL)
10 #include <linux/syscalls.h> /* sys_ioctl() */
11 #include <linux/ioctl32.h> /* register_ioctl32_conversion() */
12 #endif
13diff -ru usr/src/nv/nv.c usr/src/nv.1296092/nv.c
14--- usr/src/nv/nv.c 2005-03-22 16:19:09.000000000 +0100
15+++ usr/src/nv.1296092/nv.c 2005-06-14 16:55:16.745766144 +0200
16@@ -153,6 +153,7 @@
17 int nv_kern_mmap(struct file *, struct vm_area_struct *);
18 unsigned int nv_kern_poll(struct file *, poll_table *);
19 int nv_kern_ioctl(struct inode *, struct file *, unsigned int, unsigned long);
20+long nv_kern_compat_ioctl(struct file *, unsigned int, unsigned long);
21 void nv_kern_isr_bh(unsigned long);
22 irqreturn_t nv_kern_isr(int, void *, struct pt_regs *);
23 void nv_kern_rc_timer(unsigned long);
24@@ -209,6 +210,9 @@
25 .owner = THIS_MODULE,
26 .poll = nv_kern_poll,
27 .ioctl = nv_kern_ioctl,
28+#if defined(NVCPU_X86_64) && defined(HAVE_COMPAT_IOCTL)
29+ .compat_ioctl = nv_kern_compat_ioctl,
30+#endif
31 .mmap = nv_kern_mmap,
32 .open = nv_kern_open,
33 .release = nv_kern_close,
34@@ -993,8 +997,10 @@
35 inter_module_register("nv_linux_devices", THIS_MODULE, nv_linux_devices);
36 #endif
37
38+#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
39 /* Register ioctl conversions for 32 bit clients */
40 rm_register_ioctl_conversions();
41+#endif
42
43 #ifdef NV_SWIOTLB
44 // may need a better test than this eventually
45@@ -1154,8 +1160,10 @@
46 #endif
47 }
48
49+#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
50 /* Unregister ioctl conversions for 32 bit clients */
51 rm_unregister_ioctl_conversions();
52+#endif
53
54 #if defined(NV_BUILD_NV_PAT_SUPPORT)
55 if (nv_pat_enabled)
56@@ -1930,6 +1938,15 @@
57 return status;
58 }
59
60+long nv_kern_compat_ioctl(
61+ struct file *file,
62+ unsigned int cmd,
63+ unsigned long i_arg
64+)
65+{
66+ return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
67+}
68+
69 /*
70 * driver receives an interrupt
71 * if someone waiting, then hand it off.
72diff -ru usr/src/nv/os-interface.c usr/src/nv.1296092/os-interface.c
73--- usr/src/nv/os-interface.c 2005-03-22 16:19:09.000000000 +0100
74+++ usr/src/nv.1296092/os-interface.c 2005-06-14 16:55:21.366063752 +0200
75@@ -1227,18 +1227,18 @@
76
77 void NV_API_CALL os_register_ioctl32_conversion(U032 cmd, U032 size)
78 {
79-#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION)
80+#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
81 unsigned int request = _IOWR(NV_IOCTL_MAGIC, cmd, char[size]);
82 register_ioctl32_conversion(request, (void *)sys_ioctl);
83-#endif /* NVCPU_X86_64 */
84+#endif
85 }
86
87 void NV_API_CALL os_unregister_ioctl32_conversion(U032 cmd, U032 size)
88 {
89-#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION)
90+#if defined(NVCPU_X86_64) && defined(CONFIG_IA32_EMULATION) && !defined(HAVE_COMPAT_IOCTL)
91 unsigned int request = _IOWR(NV_IOCTL_MAGIC, cmd, char[size]);
92 unregister_ioctl32_conversion(request);
93-#endif /* NVCPU_X86_64 */
94+#endif
95 }
96
97 BOOL NV_API_CALL os_pat_supported(void)
This page took 0.042095 seconds and 4 git commands to generate.