From 790c26007da5ae0bd6631a114a28d4b0f392d950 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 07:46:49 +0100 Subject: [PATCH] don't overwrite makefile with old symlink Makefile.kbuild [release 340.32-2mamba;Mon Sep 29 2014] --- ....patch => nvidia-331.20-x86-conftest.patch | 12 +- nvidia_304-304.116-kernel-3.14.patch | 12 - nvidia_304-304.88-kernel-3.10.patch | 653 ------------------ nvidia_340.spec | 13 +- 4 files changed, 12 insertions(+), 678 deletions(-) rename nvidia_304-304.116-x86-conftest.patch => nvidia-331.20-x86-conftest.patch (79%) delete mode 100644 nvidia_304-304.116-kernel-3.14.patch delete mode 100644 nvidia_304-304.88-kernel-3.10.patch diff --git a/nvidia_304-304.116-x86-conftest.patch b/nvidia-331.20-x86-conftest.patch similarity index 79% rename from nvidia_304-304.116-x86-conftest.patch rename to nvidia-331.20-x86-conftest.patch index d8f9fce..a2d35f7 100644 --- a/nvidia_304-304.116-x86-conftest.patch +++ b/nvidia-331.20-x86-conftest.patch @@ -1,7 +1,7 @@ -diff -Nru NVIDIA-Linux-x86-304.116.orig/kernel/conftest.sh NVIDIA-Linux-x86-304.116/kernel/conftest.sh ---- NVIDIA-Linux-x86-304.116.orig/kernel/conftest.sh 2013-10-29 04:43:06.000000000 +0100 -+++ NVIDIA-Linux-x86-304.116/kernel/conftest.sh 2013-12-02 01:17:55.228531516 +0100 -@@ -125,7 +125,7 @@ +diff -Nru NVIDIA-Linux-x86-331.20.orig/kernel/conftest.sh NVIDIA-Linux-x86-331.20/kernel/conftest.sh +--- NVIDIA-Linux-x86-331.20.orig/kernel/conftest.sh 2013-10-31 01:30:27.000000000 +0100 ++++ NVIDIA-Linux-x86-331.20/kernel/conftest.sh 2013-12-02 01:03:17.234157468 +0100 +@@ -175,7 +175,7 @@ if [ "$OUTPUT" != "$SOURCES" ]; then MACH_CFLAGS="-I$HEADERS/asm-$ARCH/mach-default" @@ -10,7 +10,7 @@ diff -Nru NVIDIA-Linux-x86-304.116.orig/kernel/conftest.sh NVIDIA-Linux-x86-304. MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default" MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default" MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/arch/x86/include/uapi" -@@ -139,7 +139,7 @@ +@@ -189,7 +189,7 @@ fi else MACH_CFLAGS="-I$HEADERS/asm/mach-default" @@ -19,7 +19,7 @@ diff -Nru NVIDIA-Linux-x86-304.116.orig/kernel/conftest.sh NVIDIA-Linux-x86-304. MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default" MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default" MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/arch/x86/include/uapi" -@@ -156,7 +156,7 @@ +@@ -206,7 +206,7 @@ CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS $AUTOCONF_CFLAGS" CFLAGS="$CFLAGS -I$HEADERS -I$HEADERS/uapi -I$OUTPUT/include/generated/uapi" diff --git a/nvidia_304-304.116-kernel-3.14.patch b/nvidia_304-304.116-kernel-3.14.patch deleted file mode 100644 index 0b53e26..0000000 --- a/nvidia_304-304.116-kernel-3.14.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- NVIDIA-Linux-x86_64-304.116/kernel/nv-linux.h.orig 2014-09-12 23:20:16.466512069 +0200 -+++ NVIDIA-Linux-x86_64-304.116/kernel/nv-linux.h 2014-09-12 23:20:39.607521667 +0200 -@@ -289,8 +289,7 @@ - #endif - - #if !defined(NV_VMWARE) && defined(CONFIG_ACPI) --#include --#include -+#include - #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID) - #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1 - #endif diff --git a/nvidia_304-304.88-kernel-3.10.patch b/nvidia_304-304.88-kernel-3.10.patch deleted file mode 100644 index f944035..0000000 --- a/nvidia_304-304.88-kernel-3.10.patch +++ /dev/null @@ -1,653 +0,0 @@ -diff -urN NVIDIA-Linux-x86_64-304.88/kernel/nv-i2c.c NVIDIA-Linux-x86_64-304.88.new/kernel/nv-i2c.c ---- NVIDIA-Linux-x86_64-304.88/kernel/nv-i2c.c 2013-03-27 17:26:51.000000000 -0400 -+++ NVIDIA-Linux-x86_64-304.88.new/kernel/nv-i2c.c 2013-07-05 10:04:23.000000000 -0400 -@@ -1,3 +1,4 @@ -+ - /* _NVRM_COPYRIGHT_BEGIN_ - * - * Copyright 2005-2011 by NVIDIA Corporation. All rights reserved. All -@@ -311,8 +312,6 @@ - BOOL NV_API_CALL nv_i2c_del_adapter(nv_state_t *nv, void *data) - { - struct i2c_adapter *pI2cAdapter = (struct i2c_adapter *)data; -- int osstatus = 0; -- BOOL wasReleased = FALSE; - - #if defined(KERNEL_2_4) - if (!NV_WEAK_SYMBOL_PRESENT(i2c_add_adapter)) -@@ -324,15 +323,10 @@ - if (!pI2cAdapter) return FALSE; - - // attempt release with the OS -- osstatus = i2c_del_adapter(pI2cAdapter); -- -- if (!osstatus) -- { -- os_free_mem(pI2cAdapter); -- wasReleased = TRUE; -- } -+ i2c_del_adapter(pI2cAdapter); -+ os_free_mem(pI2cAdapter); - -- return wasReleased; -+ return TRUE; - } - - #else // (defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)) -diff -urN NVIDIA-Linux-x86_64-304.88/kernel/nv-procfs.c NVIDIA-Linux-x86_64-304.88.new/kernel/nv-procfs.c ---- NVIDIA-Linux-x86_64-304.88/kernel/nv-procfs.c 2013-03-27 17:26:51.000000000 -0400 -+++ NVIDIA-Linux-x86_64-304.88.new/kernel/nv-procfs.c 2013-07-05 10:12:52.000000000 -0400 -@@ -60,60 +60,41 @@ - __entry; \ - }) - --#define NV_CREATE_PROC_FILE(name,parent,__read_proc, \ -- __write_proc,__fops,__data) \ -- ({ \ -- struct proc_dir_entry *__entry; \ -- int __mode = (S_IFREG | S_IRUGO); \ -- if ((NvUPtr)(__write_proc) != 0) \ -- __mode |= S_IWUSR; \ -- __entry = NV_CREATE_PROC_ENTRY(name, __mode, parent); \ -- if (__entry != NULL) \ -- { \ -- if ((NvUPtr)(__read_proc) != 0) \ -- __entry->read_proc = (__read_proc); \ -- if ((NvUPtr)(__write_proc) != 0) \ -- { \ -- __entry->write_proc = (__write_proc); \ -- __entry->proc_fops = (__fops); \ -- } \ -- __entry->data = (__data); \ -- } \ -- __entry; \ -- }) -+#define NV_PROC_RW (S_IFREG|S_IRUGO|S_IWUSR) -+#define NV_PROC_RO (S_IFREG|S_IRUGO) - - #define NV_CREATE_PROC_DIR(name,parent) \ - ({ \ - struct proc_dir_entry *__entry; \ - int __mode = (S_IFDIR | S_IRUGO | S_IXUGO); \ -- __entry = NV_CREATE_PROC_ENTRY(name, __mode, parent); \ -+ __entry = proc_mkdir_mode(name, __mode, parent); \ - __entry; \ - }) - -+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,9,255) -+static inline void *PDE_DATA(const struct inode *inode) { -+ return PDE(inode)->data; -+} -+#endif -+ - #define NV_PROC_WRITE_BUFFER_SIZE (64 * RM_PAGE_SIZE) - - static int --nv_procfs_read_gpu_info( -- char *page, -- char **start, -- off_t off, -- int count, -- int *eof, -- void *data -+nv_procfs_show_gpu_info( -+ struct seq_file *m, -+ void *v - ) - { -- nv_state_t *nv = data; -+ nv_state_t *nv = m->private; - nv_linux_state_t *nvl = NV_GET_NVL_FROM_NV_STATE(nv); - struct pci_dev *dev = nvl->dev; - char *type, *fmt, tmpstr[NV_DEVICE_NAME_LENGTH]; -- int len = 0, status; -+ int status; - NvU8 *uuid; - NvU32 vbios_rev1, vbios_rev2, vbios_rev3, vbios_rev4, vbios_rev5; - NvU32 fpga_rev1, fpga_rev2, fpga_rev3; - nv_stack_t *sp = NULL; - -- *eof = 1; -- - NV_KMEM_CACHE_ALLOC_STACK(sp); - if (sp == NULL) - { -@@ -134,31 +115,31 @@ - if (rm_get_device_name(sp, nv, dev->device, dev->subsystem_vendor, - dev->subsystem_device, NV_DEVICE_NAME_LENGTH, - tmpstr) != RM_OK) -- { -+ { - strcpy (tmpstr, "Unknown"); - } - } - -- len += sprintf(page+len, "Model: \t\t %s\n", tmpstr); -- len += sprintf(page+len, "IRQ: \t\t %d\n", nv->interrupt_line); -+ seq_printf(m, "Model: \t\t %s\n", tmpstr); -+ seq_printf(m, "IRQ: \t\t %d\n", nv->interrupt_line); - - if (NV_IS_GVI_DEVICE(nv)) - { - status = rm_gvi_get_firmware_version(sp, nv, &fpga_rev1, &fpga_rev2, - &fpga_rev3); - if (status != RM_OK) -- len += sprintf(page+len, "Firmware: \t ????.??.??\n"); -+ seq_printf(m, "Firmware: \t ????.??.??\n"); - else - { - fmt = "Firmware: \t %x.%x.%x\n"; -- len += sprintf(page+len, fmt, fpga_rev1, fpga_rev2, fpga_rev3); -+ seq_printf(m, fmt, fpga_rev1, fpga_rev2, fpga_rev3); - } - } - else - { - if (rm_get_gpu_uuid(sp, nv, &uuid, NULL) == RM_OK) - { -- len += sprintf(page+len, "GPU UUID: \t %s\n", (char *)uuid); -+ seq_printf(m, "GPU UUID: \t %s\n", (char *)uuid); - os_free_mem(uuid); - } - -@@ -166,12 +147,12 @@ - &vbios_rev3, &vbios_rev4, - &vbios_rev5) != RM_OK) - { -- len += sprintf(page+len, "Video BIOS: \t ??.??.??.??.??\n"); -+ seq_printf(m, "Video BIOS: \t ??.??.??.??.??\n"); - } - else - { - fmt = "Video BIOS: \t %02x.%02x.%02x.%02x.%02x\n"; -- len += sprintf(page+len, fmt, vbios_rev1, vbios_rev2, vbios_rev3, -+ seq_printf(m, fmt, vbios_rev1, vbios_rev2, vbios_rev3, - vbios_rev4, vbios_rev5); - } - } -@@ -182,12 +163,12 @@ - type = "PCI-E"; - else - type = "PCI"; -- len += sprintf(page+len, "Bus Type: \t %s\n", type); -+ seq_printf(m, "Bus Type: \t %s\n", type); - -- len += sprintf(page+len, "DMA Size: \t %d bits\n", -+ seq_printf(m, "DMA Size: \t %d bits\n", - nv_count_bits(dev->dma_mask)); -- len += sprintf(page+len, "DMA Mask: \t 0x%llx\n", dev->dma_mask); -- len += sprintf(page+len, "Bus Location: \t %04x:%02x.%02x.%x\n", -+ seq_printf(m, "DMA Mask: \t 0x%llx\n", dev->dma_mask); -+ seq_printf(m, "Bus Location: \t %04x:%02x.%02x.%x\n", - nv->domain, nv->bus, nv->slot, PCI_FUNC(dev->devfn)); - #if defined(DEBUG) - do -@@ -195,7 +176,7 @@ - int j; - for (j = 0; j < NV_GPU_NUM_BARS; j++) - { -- len += sprintf(page+len, "BAR%u: \t\t 0x%llx (%lluMB)\n", -+ seq_printf(m, "BAR%u: \t\t 0x%llx (%lluMB)\n", - j, nv->bars[j].address, (nv->bars[j].size >> 20)); - } - } while (0); -@@ -203,26 +184,120 @@ - - NV_KMEM_CACHE_FREE_STACK(sp); - -- return len; -+ return 0; - } - - static int --nv_procfs_read_version( -- char *page, -- char **start, -- off_t off, -- int count, -- int *eof, -- void *data -+nv_procfs_open_gpu_info( -+ struct inode *inode, -+ struct file *file - ) - { -- int len = 0; -- *eof = 1; -+ return single_open(file, nv_procfs_show_gpu_info, PDE_DATA(inode)); -+} - -- len += sprintf(page+len, "NVRM version: %s\n", pNVRM_ID); -- len += sprintf(page+len, "GCC version: %s\n", NV_COMPILER); -+static const struct file_operations nv_procfs_gpu_info_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_open_gpu_info, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; - -- return len; -+static int -+nv_procfs_show_version( -+ struct seq_file *m, -+ void *v -+) -+{ -+ seq_printf(m, "NVRM version: %s\n", pNVRM_ID); -+ seq_printf(m, "GCC version: %s\n", NV_COMPILER); -+ -+ return 0; -+} -+ -+static int -+nv_procfs_open_version( -+ struct inode *inode, -+ struct file *file -+) -+{ -+ return single_open(file, nv_procfs_show_version, NULL); -+} -+ -+static const struct file_operations nv_procfs_version_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_open_version, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int -+nv_procfs_show_registry( -+ struct seq_file *m, -+ void *v -+) -+{ -+ nv_state_t *nv = m->private; -+ nv_linux_state_t *nvl = NULL; -+ char *registry_keys; -+ -+ if (nv != NULL) -+ nvl = NV_GET_NVL_FROM_NV_STATE(nv); -+ registry_keys = ((nvl != NULL) ? -+ nvl->registry_keys : nv_registry_keys); -+ -+ seq_printf(m, "Binary: \"%s\"\n", registry_keys); -+ -+ return 0; -+} -+ -+static ssize_t -+nv_procfs_write_registry( -+ struct file *file, -+ const char __user *buffer, -+ size_t count, -+ loff_t *pos -+) -+{ -+ int status = 0; -+ nv_file_private_t *nvfp = NV_GET_FILE_PRIVATE(file); -+ char *proc_buffer; -+ unsigned long bytes_left; -+ -+ down(&nvfp->fops_sp_lock[NV_FOPS_STACK_INDEX_PROCFS]); -+ -+ bytes_left = (NV_PROC_WRITE_BUFFER_SIZE - nvfp->off - 1); -+ -+ if (count == 0) -+ { -+ status = -EINVAL; -+ goto done; -+ } -+ else if ((bytes_left == 0) || (count > bytes_left)) -+ { -+ status = -ENOSPC; -+ goto done; -+ } -+ -+ proc_buffer = &((char *)nvfp->data)[nvfp->off]; -+ -+ if (copy_from_user(proc_buffer, buffer, count)) -+ { -+ nv_printf(NV_DBG_ERRORS, "NVRM: failed to copy in proc data!\n"); -+ status = -EFAULT; -+ } -+ else -+ { -+ nvfp->proc_data = PDE_DATA(file->f_inode); -+ nvfp->off += count; -+ } -+ -+done: -+ up(&nvfp->fops_sp_lock[NV_FOPS_STACK_INDEX_PROCFS]); -+ -+ return ((status < 0) ? status : count); - } - - static struct pci_dev *nv_get_agp_device_by_class(unsigned int class) -@@ -432,7 +507,7 @@ - nv_stack_t *sp = NULL; - - if (0 == (file->f_mode & FMODE_WRITE)) -- return 0; -+ return single_open(file, nv_procfs_show_registry, PDE_DATA(inode)); - - nvfp = nv_alloc_file_private(); - if (nvfp == NULL) -@@ -481,6 +556,9 @@ - RM_STATUS rm_status; - int rc = 0; - -+ if (0 == (file->f_mode & FMODE_WRITE)) -+ return single_release(inode, file); -+ - nvfp = NV_GET_FILE_PRIVATE(file); - if (nvfp == NULL) - return 0; -@@ -545,122 +623,84 @@ - return rc; - } - --static struct file_operations nv_procfs_registry_fops = { -+static const struct file_operations nv_procfs_registry_fops = { - .open = nv_procfs_open_registry, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .write = nv_procfs_write_registry, - .release = nv_procfs_close_registry, - }; - - static int --nv_procfs_read_params( -- char *page, -- char **start, -- off_t off, -- int count, -- int *eof, -- void *data -+nv_procfs_show_params( -+ struct seq_file *m, -+ void *v - ) - { - unsigned int i; -- int len = 0; - nv_parm_t *entry; - -- *eof = 1; - - for (i = 0; (entry = &nv_parms[i])->name != NULL; i++) -- len += sprintf(page+len, "%s: %u\n", entry->name, *entry->data); -+ seq_printf(m, "%s: %u\n", entry->name, *entry->data); - -- len += sprintf(page+len, "RegistryDwords: \"%s\"\n", -+ seq_printf(m, "RegistryDwords: \"%s\"\n", - (NVreg_RegistryDwords != NULL) ? NVreg_RegistryDwords : ""); -- len += sprintf(page+len, "RmMsg: \"%s\"\n", -+seq_printf(m, "RmMsg: \"%s\"\n", - (NVreg_RmMsg != NULL) ? NVreg_RmMsg : ""); - -- return len; -+ return 0; - } - - static int --nv_procfs_read_registry( -- char *page, -- char **start, -- off_t off, -- int count, -- int *eof, -- void *data --) -+nv_procfs_open_params( -+ struct inode *inode, -+ struct file *file -+) - { -- nv_state_t *nv = data; -- nv_linux_state_t *nvl = NULL; -- char *registry_keys; -- -- if (nv != NULL) -- nvl = NV_GET_NVL_FROM_NV_STATE(nv); -- registry_keys = ((nvl != NULL) ? -- nvl->registry_keys : nv_registry_keys); - -- *eof = 1; -- return sprintf(page, "Binary: \"%s\"\n", registry_keys); -+return single_open(file, nv_procfs_show_params, NULL); - } -+ -+ -+static const struct file_operations nv_procfs_params_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_open_params, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ - - static int --nv_procfs_write_registry( -- struct file *file, -- const char *buffer, -- unsigned long count, -- void *data -+nv_procfs_show_text_file( -+ struct seq_file *m, -+ void *v - ) - { -- int status = 0; -- nv_file_private_t *nvfp = NV_GET_FILE_PRIVATE(file); -- char *proc_buffer; -- unsigned long bytes_left; -+ seq_printf(m, "%s", (char *)m->private); - -- down(&nvfp->fops_sp_lock[NV_FOPS_STACK_INDEX_PROCFS]); -- -- bytes_left = (NV_PROC_WRITE_BUFFER_SIZE - nvfp->off - 1); -- -- if (count == 0) -- { -- status = -EINVAL; -- goto done; -- } -- else if ((bytes_left == 0) || (count > bytes_left)) -- { -- status = -ENOSPC; -- goto done; -- } -- -- proc_buffer = &((char *)nvfp->data)[nvfp->off]; -- -- if (copy_from_user(proc_buffer, buffer, count)) -- { -- nv_printf(NV_DBG_ERRORS, "NVRM: failed to copy in proc data!\n"); -- status = -EFAULT; -- } -- else -- { -- nvfp->proc_data = data; -- nvfp->off += count; -- } -- --done: -- up(&nvfp->fops_sp_lock[NV_FOPS_STACK_INDEX_PROCFS]); -- -- return ((status < 0) ? status : (int)count); -+ return 0; - } - - static int --nv_procfs_read_text_file( -- char *page, -- char **start, -- off_t off, -- int count, -- int *eof, -- void *data -+nv_procfs_open_text_file( -+ struct inode *inode, -+ struct file *file - ) - { -- *eof = 1; -- return sprintf(page, "%s", (char *)data); -+ return single_open(file, nv_procfs_show_text_file, PDE_DATA(inode)); - } - -+ -+static const struct file_operations nv_procfs_text_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_open_text_file, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ - static void - nv_procfs_add_text_file( - struct proc_dir_entry *parent, -@@ -668,22 +708,7 @@ - const char *text - ) - { -- NV_CREATE_PROC_FILE(filename, parent, -- nv_procfs_read_text_file, NULL, NULL, (void *)text); --} -- --static void nv_procfs_unregister_all(struct proc_dir_entry *entry) --{ -- while (entry) -- { -- struct proc_dir_entry *next = entry->next; -- if (entry->subdir) -- nv_procfs_unregister_all(entry->subdir); -- remove_proc_entry(entry->name, entry->parent); -- if (entry == proc_nvidia) -- break; -- entry = next; -- } -+ proc_create_data(filename, NV_PROC_RO, parent, &nv_procfs_text_fops, (void *)text); - } - #endif - -@@ -713,26 +738,11 @@ - if (!proc_nvidia) - goto failed; - -- entry = NV_CREATE_PROC_FILE("params", proc_nvidia, -- nv_procfs_read_params, NULL, NULL, NULL); -+ entry = proc_create("params", NV_PROC_RO, proc_nvidia, &nv_procfs_params_fops); - if (!entry) - goto failed; - -- /* -- * entry->proc_fops originally points to a constant -- * structure, so to add more methods for the -- * binary registry write path, we need to replace the -- * said entry->proc_fops with a new fops structure. -- * However, in preparation for this, we need to preserve -- * the procfs read() and write() operations. -- */ -- nv_procfs_registry_fops.read = entry->proc_fops->read; -- nv_procfs_registry_fops.write = entry->proc_fops->write; -- -- entry = NV_CREATE_PROC_FILE("registry", proc_nvidia, -- nv_procfs_read_registry, -- nv_procfs_write_registry, -- &nv_procfs_registry_fops, NULL); -+ entry = proc_create("registry", NV_PROC_RW, proc_nvidia, &nv_procfs_registry_fops); - if (!entry) - goto failed; - -@@ -753,8 +763,7 @@ - - nv_procfs_add_text_file(proc_nvidia_patches, "README", __README_patches); - -- entry = NV_CREATE_PROC_FILE("version", proc_nvidia, -- nv_procfs_read_version, NULL, NULL, NULL); -+ entry = proc_create("version", NV_PROC_RO, proc_nvidia, &nv_procfs_version_fops); - if (!entry) - goto failed; - -@@ -771,15 +780,11 @@ - if (!proc_nvidia_gpu) - goto failed; - -- entry = NV_CREATE_PROC_FILE("information", proc_nvidia_gpu, -- nv_procfs_read_gpu_info, NULL, NULL, nv); -+ entry = proc_create_data("information", NV_PROC_RO, proc_nvidia_gpu, &nv_procfs_gpu_info_fops, nv); - if (!entry) - goto failed; - -- entry = NV_CREATE_PROC_FILE("registry", proc_nvidia_gpu, -- nv_procfs_read_registry, -- nv_procfs_write_registry, -- &nv_procfs_registry_fops, nv); -+ entry = proc_create_data("registry", NV_PROC_RW, proc_nvidia_gpu, &nv_procfs_registry_fops, nv); - if (!entry) - goto failed; - -@@ -788,28 +793,34 @@ - proc_nvidia_agp = NV_CREATE_PROC_DIR("agp", proc_nvidia); - if (!proc_nvidia_agp) - goto failed; -- -- entry = NV_CREATE_PROC_FILE("status", proc_nvidia_agp, -- nv_procfs_read_agp_status, NULL, NULL, nv); -- if (!entry) -- goto failed; -- -- entry = NV_CREATE_PROC_FILE("host-bridge", proc_nvidia_agp, -- nv_procfs_read_agp_info, NULL, NULL, NULL); -- if (!entry) -- goto failed; -- -- entry = NV_CREATE_PROC_FILE("gpu", proc_nvidia_agp, -- nv_procfs_read_agp_info, NULL, NULL, nv); -- if (!entry) -- goto failed; -+// -+// - entry = NV_CREATE_PROC_FILE("params", proc_nvidia, -+//- nv_procfs_read_params, NULL, NULL, NULL); -+//+ entry = proc_create("params", NV_PROC_RO, proc_nvidia, &nv_procfs_params_fops); -+ -+ // entry = NV_CREATE_PROC_FILE("status", proc_nvidia_agp, -+ // nv_procfs_read_agp_status, NULL, NULL, nv); -+// entry = proc_create("status", NV_PROC_RO, proc_nvidia, &nv_procfs_params_fops); -+ -+ // if (!entry) -+ // goto failed; -+ -+ // entry = NV_CREATE_PROC_FILE("host-bridge", proc_nvidia_agp, -+ // nv_procfs_read_agp_info, NULL, NULL, NULL); -+ // if (!entry) -+ // goto failed; -+ -+ //entry = NV_CREATE_PROC_FILE("gpu", proc_nvidia_agp, -+ // nv_procfs_read_agp_info, NULL, NULL, nv); -+ //if (!entry) -+ // goto failed; - } - } - #endif - return 0; - #if defined(CONFIG_PROC_FS) - failed: -- nv_procfs_unregister_all(proc_nvidia); -+ remove_proc_subtree("nvidia", proc_nvidia); - return -1; - #endif - } -@@ -817,6 +828,6 @@ - void nv_unregister_procfs(void) - { - #if defined(CONFIG_PROC_FS) -- nv_procfs_unregister_all(proc_nvidia); -+ remove_proc_subtree("nvidia", proc_nvidia); - #endif - } diff --git a/nvidia_340.spec b/nvidia_340.spec index 913df8e..a1961db 100644 --- a/nvidia_340.spec +++ b/nvidia_340.spec @@ -3,7 +3,7 @@ Name: nvidia_340 Version: 340.32 Epoch: 1 -Release: 1mamba +Release: 2mamba Summary: NVIDIA proprietary accelerated drivers for the Linux Kernel Group: System/Kernel and Hardware Vendor: openmamba @@ -12,9 +12,7 @@ Packager: Silvan Calarco URL: http://www.nvidia.com/object/unix.html Source0: http://us.download.nvidia.com/XFree86/Linux-x86/%{nvidia_current_ver}/NVIDIA-Linux-x86-%{nvidia_current_ver}.run Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{nvidia_current_ver}/NVIDIA-Linux-x86_64-%{nvidia_current_ver}.run -Patch0: nvidia_304-304.88-kernel-3.10.patch -Patch1: nvidia_304-304.116-x86-conftest.patch -Patch2: nvidia_304-304.116-kernel-3.14.patch +Patch0: nvidia-331.20-x86-conftest.patch License: no OSI Approved ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END @@ -121,12 +119,10 @@ sed -i "s|__UTILS_PATH__|%{_bindir}|;s|__PIXMAP_PATH__|%{_datadir}/pixmaps|" \ current/nvidia-settings.desktop cd current -%patch1 -p1 -#%patch2 -p1 +%patch0 -p1 cd .. %build -ln -s -f Makefile.kbuild current/kernel/Makefile %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" @@ -416,6 +412,9 @@ exit 0 %doc current/{LICENSE,NVIDIA_Changelog,README.txt} current/html %changelog +* Mon Sep 29 2014 Silvan Calarco 340.32-2mamba +- don't overwrite makefile with old symlink Makefile.kbuild + * Mon Sep 29 2014 Silvan Calarco 340.32-1mamba - update to 340.32