Add x11-drivers/nvidia-drivers-180.{29,60}.
[overlay.git] / x11-drivers / nvidia-drivers / files / linux-kernel-proc-owner.patch
diff --git a/x11-drivers/nvidia-drivers/files/linux-kernel-proc-owner.patch b/x11-drivers/nvidia-drivers/files/linux-kernel-proc-owner.patch
new file mode 100644 (file)
index 0000000..9a52581
--- /dev/null
@@ -0,0 +1,108 @@
+--- usr/src/nv/nv.c.orig       2009-06-29 00:14:45.000000000 +0200
++++ usr/src/nv/nv.c    2009-06-29 00:15:06.000000000 +0200
+@@ -374,7 +374,6 @@
+ /* character driver entry points */
+ static struct file_operations nv_fops = {
+-    .owner     = THIS_MODULE,
+     .poll      = nv_kern_poll,
+     .ioctl     = nv_kern_ioctl,
+ #if defined(HAVE_UNLOCKED_IOCTL)
+@@ -589,14 +588,6 @@
+     if (!proc_nvidia_warnings)
+         goto failed;
+-    /*
+-     * Set the module owner to ensure that the reference
+-     * count reflects accesses to the proc files.
+-     */
+-    proc_nvidia->owner = THIS_MODULE;
+-    proc_nvidia_cards->owner = THIS_MODULE;
+-    proc_nvidia_warnings->owner = THIS_MODULE;
+-
+     for (j = 0; j < num_nv_devices; j++)
+     {
+         nvl = &nv_linux_devices[j];
+@@ -615,7 +606,6 @@
+         entry->data = nv;
+         entry->read_proc = nv_kern_read_cardinfo;
+-        entry->owner = THIS_MODULE;
+         if (nv_find_pci_capability(dev, PCI_CAP_ID_AGP))
+         {
+@@ -629,7 +619,6 @@
+                 goto failed;
+             }
+-            entry->owner = THIS_MODULE;
+             proc_nvidia_agp = entry;
+             entry = create_proc_entry("status", flags, proc_nvidia_agp);
+@@ -640,7 +629,6 @@
+             entry->data = nv;
+             entry->read_proc = nv_kern_read_status;
+-            entry->owner = THIS_MODULE;
+             entry = create_proc_entry("host-bridge", flags, proc_nvidia_agp);
+             if (!entry) {
+@@ -650,7 +638,6 @@
+             entry->data = NULL;
+             entry->read_proc = nv_kern_read_agpinfo;
+-            entry->owner = THIS_MODULE;
+             entry = create_proc_entry("card", flags, proc_nvidia_agp);
+             if (!entry) {
+@@ -660,7 +647,6 @@
+             entry->data = nv;
+             entry->read_proc = nv_kern_read_agpinfo;
+-            entry->owner = THIS_MODULE;
+         }
+         NV_PCI_DEV_PUT(dev);
+@@ -671,14 +657,12 @@
+         goto failed;
+     entry->read_proc = nv_kern_read_version;
+-    entry->owner = THIS_MODULE;
+     entry = create_proc_entry("registry", flags, proc_nvidia);
+     if (!entry)
+         goto failed;
+     entry->read_proc = nv_kern_read_registry;
+-    entry->owner = THIS_MODULE;
+     return;
+@@ -705,7 +689,6 @@
+     entry->data = (void *)message;
+     entry->read_proc = nv_kern_read_warning;
+-    entry->owner = THIS_MODULE;
+ #endif
+ }
+--- usr/src/nv/nv-i2c.c.orig   2009-06-29 00:26:32.000000000 +0200
++++ usr/src/nv/nv-i2c.c        2009-06-29 00:26:56.000000000 +0200
+@@ -218,8 +218,6 @@
+ #if defined(NV_I2C_ADAPTER_HAS_DEC_USE)
+     .dec_use           = nv_i2c_adapter_dec_use,
+ #endif
+-    .client_register   = nv_i2c_adapter_register_client,
+-    .client_unregister = nv_i2c_adapter_unregister_client,
+     .data              = NULL,
+ };
+@@ -241,8 +239,6 @@
+     .owner             = THIS_MODULE,
+     .algo              = &nv_i2c_algo,
+     .algo_data         = NULL,
+-    .client_register   = nv_i2c_adapter_register_client,
+-    .client_unregister = nv_i2c_adapter_unregister_client,
+ };
+ #endif // defined(KERNEL_2_4)