Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=dex77testing.git;a=commitdiff;h=cf6b95dd82d5c4091ffb78649074da32896013c8
commit cf6b95dd82d5c4091ffb78649074da32896013c8 Author: James Buren <[email protected]> Date: Sat May 3 22:56:11 2014 -0500 nvidia-173xx-173.14.39-1-x86_64 * rebuild with kernel 3.14 * drop kernel 3.10 patch * add kernel 3.14 patch diff --git a/source/x11-extra/nvidia-173xx/FrugalBuild b/source/x11-extra/nvidia-173xx/FrugalBuild index 534d47c..1d727ea 100644 --- a/source/x11-extra/nvidia-173xx/FrugalBuild +++ b/source/x11-extra/nvidia-173xx/FrugalBuild @@ -2,15 +2,15 @@ # Maintainer: Michel Hermier <[email protected]> pkgname=nvidia-173xx -pkgver=173.14.37 -pkgrel=9 +pkgver=173.14.39 +pkgrel=1 archs=('i686' 'x86_64') _F_nvidia_legacyver="173.14.xx" Finclude nvidia case "$_F_nvidia_arch" in -x86) sha1sums=('0510a64a2df8c3e077fa16d2fc16d0c32e6fe068');; -x86_64) sha1sums=('261d9a4203449a72d4ad8332ad24f6d0f5b63cd1');; +x86) sha1sums=('fba3bc6e4e850b6e95fc60ab960d4ef606b4ce91');; +x86_64) sha1sums=('d8502dbf95653b9ec5a8f38dccdc54796e589f58');; esac -source=(${source[@]} kernel-3.10.patch) -sha1sums=(${sha1sums[@]} '4e81fc7889a54ed7b02d521ad37bb7f865a4545a') +source=(${source[@]} kernel-3.14.patch) +sha1sums=(${sha1sums[@]} '3204fc1824bfb96b66a1426d51f3282d1b852f08') diff --git a/source/x11-extra/nvidia-173xx/kernel-3.10.patch b/source/x11-extra/nvidia-173xx/kernel-3.10.patch deleted file mode 100644 index 87566b6..0000000 --- a/source/x11-extra/nvidia-173xx/kernel-3.10.patch +++ /dev/null @@ -1,697 +0,0 @@ -diff -ur a/usr/src/nv/nv.c b/usr/src/nv/nv.c ---- a/usr/src/nv/nv.c 2013-03-06 20:58:57.000000000 -0600 -+++ b/usr/src/nv/nv.c 2013-07-22 19:37:51.294266486 -0500 -@@ -291,7 +291,6 @@ - - /* nvos_ functions.. do not take a state device parameter */ - static void nvos_proc_create(void); --static void nvos_proc_remove_all(struct proc_dir_entry *); - static void nvos_proc_remove(void); - static int nvos_count_devices(nv_stack_t *); - -@@ -333,12 +332,34 @@ - static int nv_kern_apm_event(struct pm_dev *, pm_request_t, void *); - #endif - --static int nv_kern_read_cardinfo(char *, char **, off_t off, int, int *, void *); --static int nv_kern_read_status(char *, char **, off_t off, int, int *, void *); --static int nv_kern_read_registry(char *, char **, off_t off, int, int *, void *); --static int nv_kern_read_agpinfo(char *, char **, off_t off, int, int *, void *); --static int nv_kern_read_version(char *, char **, off_t off, int, int *, void *); --static int nv_kern_read_text_file(char *, char **, off_t off, int, int *, void *); -+static const struct file_operations nv_procfs_text_fops; -+static const struct file_operations nv_procfs_read_card_info_fops; -+static const struct file_operations nv_procfs_version_fops; -+static const struct file_operations nv_procfs_read_agp_info_fops; -+static const struct file_operations nv_procfs_read_agp_info_gpu_fops; -+static const struct file_operations nv_procfs_read_agp_status_fops; -+static const struct file_operations nv_procfs_registry_fops; -+ -+static int nv_procfs_show_text_file(struct seq_file *, void *); -+static int nv_procfs_open_text_file(struct inode *, struct file *); -+static void nvos_proc_add_text_file(struct proc_dir_entry *, const char *, const char *); -+ -+static int nv_procfs_show_card_info(struct seq_file *, void *); -+static int nv_procfs_read_card_info(struct inode *, struct file *); -+ -+static int nv_procfs_show_version(struct seq_file *, void *); -+static int nv_procfs_open_version(struct inode *, struct file *); -+ -+static int nv_procfs_show_agp_info(struct seq_file *, void *); -+static int nv_procfs_read_agp_info(struct inode *, struct file *); -+ -+static int nv_procfs_read_agp_info_gpu(struct inode *, struct file *file); -+static int nv_procfs_show_agp_status(struct seq_file *, void *); -+static int nv_procfs_read_agp_status(struct inode *, struct file *); -+ -+static int nv_procfs_show_registry(struct seq_file *, void *); -+static int nv_procfs_open_registry(struct inode *, struct file *); -+ - - int nv_kern_ctl_open(struct inode *, struct file *); - int nv_kern_ctl_close(struct inode *, struct file *); -@@ -604,6 +625,12 @@ - return NULL; - } - -+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,9,255) -+static inline void *PDE_DATA(const struct inode *inode) { -+ return PDE(inode)->data; -+} -+#endif -+ - static void nvos_proc_create(void) - { - #ifdef CONFIG_PROC_FS -@@ -623,19 +650,19 @@ - nv_state_t *nv; - nv_linux_state_t *nvl; - -- proc_nvidia = create_proc_entry("driver/nvidia", d_flags, NULL); -+ proc_nvidia = proc_mkdir_mode("driver/nvidia", d_flags, NULL); - if (!proc_nvidia) - goto failed; - -- proc_nvidia_cards = create_proc_entry("cards", d_flags, proc_nvidia); -+ proc_nvidia_cards = proc_mkdir_mode("cards", d_flags, proc_nvidia); - if (!proc_nvidia_cards) - goto failed; - -- proc_nvidia_warnings = create_proc_entry("warnings", d_flags, proc_nvidia); -+ proc_nvidia_warnings = proc_mkdir_mode("warnings", d_flags, proc_nvidia); - if (!proc_nvidia_warnings) - goto failed; - -- proc_nvidia_patches = create_proc_entry("patches", d_flags, proc_nvidia); -+ proc_nvidia_patches = proc_mkdir_mode("patches", d_flags, proc_nvidia); - if (!proc_nvidia_patches) - goto failed; - -@@ -660,24 +687,19 @@ - break; - - sprintf(name, "%d", i++); -- entry = create_proc_entry(name, flags, proc_nvidia_cards); -+ entry = proc_create_data(name, flags, proc_nvidia_cards, -+ &nv_procfs_read_card_info_fops, nv); - if (!entry) { - NV_PCI_DEV_PUT(dev); - goto failed; - } - -- entry->data = nv; -- entry->read_proc = nv_kern_read_cardinfo; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif -- - if (nvos_find_agp_capability(dev)) { - /* - * Create the /proc/driver/nvidia/agp/{status,host-bridge,card} - * entries now that we know there's AGP hardware. - */ -- entry = create_proc_entry("agp", d_flags, proc_nvidia); -+ entry = proc_mkdir_mode("agp", d_flags, proc_nvidia); - if (!entry) { - NV_PCI_DEV_PUT(dev); - goto failed; -@@ -688,72 +710,78 @@ - #endif - proc_nvidia_agp = entry; - -- entry = create_proc_entry("status", flags, proc_nvidia_agp); -+ entry = proc_create_data("status", flags, proc_nvidia_agp, -+ &nv_procfs_read_agp_status_fops, nv); - if (!entry) { - NV_PCI_DEV_PUT(dev); - goto failed; - } - -- entry->data = nv; -- entry->read_proc = nv_kern_read_status; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif -+ entry = proc_create("host-bridge", flags, proc_nvidia_agp, -+ &nv_procfs_read_agp_info_fops); - -- entry = create_proc_entry("host-bridge", flags, proc_nvidia_agp); - if (!entry) { - NV_PCI_DEV_PUT(dev); - goto failed; - } - -- entry->data = NULL; -- entry->read_proc = nv_kern_read_agpinfo; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif -- -- entry = create_proc_entry("card", flags, proc_nvidia_agp); -+ entry = proc_create_data("card", flags, proc_nvidia_agp, -+ &nv_procfs_read_agp_info_gpu_fops, nv); - if (!entry) { - NV_PCI_DEV_PUT(dev); - goto failed; - } - -- entry->data = nv; -- entry->read_proc = nv_kern_read_agpinfo; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif - } - - NV_PCI_DEV_PUT(dev); - } - -- entry = create_proc_entry("version", flags, proc_nvidia); -+ entry = proc_create("version", flags, proc_nvidia, &nv_procfs_version_fops); - if (!entry) - goto failed; - -- entry->read_proc = nv_kern_read_version; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif -- -- entry = create_proc_entry("registry", flags, proc_nvidia); -+ entry = proc_create("registry", flags, proc_nvidia, -+ &nv_procfs_registry_fops); - if (!entry) - goto failed; - -- entry->read_proc = nv_kern_read_registry; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; --#endif -- - return; - - failed: - nv_printf(NV_DBG_ERRORS, "NVRM: failed to create /proc entries!\n"); -- nvos_proc_remove_all(proc_nvidia); -+ remove_proc_subtree("nvidia", proc_nvidia); - #endif - } - -+static int -+nv_procfs_show_text_file( -+ struct seq_file *m, -+ void *v -+) -+{ -+ seq_printf(m, "%s", (char *)m->private); -+ -+ return 0; -+} -+ -+static int -+nv_procfs_open_text_file( -+ struct inode *inode, -+ struct file *file -+) -+{ -+ 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 - nvos_proc_add_text_file( - struct proc_dir_entry *parent, -@@ -762,41 +790,18 @@ - ) - { - #ifdef CONFIG_PROC_FS -- struct proc_dir_entry *entry; -- - /* world readable file */ - int flags = S_IFREG | S_IRUGO; - -- entry = create_proc_entry(filename, flags, parent); -- if (!entry) return; -- -- entry->data = (void *)text; -- entry->read_proc = nv_kern_read_text_file; --#if defined(NV_PROC_DIR_ENTRY_HAS_OWNER) -- entry->owner = THIS_MODULE; -+ proc_create_data(filename, flags, parent, &nv_procfs_text_fops, -+ (void *)text); - #endif --#endif --} -- --#ifdef CONFIG_PROC_FS --static void nvos_proc_remove_all(struct proc_dir_entry *entry) --{ -- while (entry) { -- struct proc_dir_entry *next = entry->next; -- if (entry->subdir) -- nvos_proc_remove_all(entry->subdir); -- remove_proc_entry(entry->name, entry->parent); -- if (entry == proc_nvidia) -- break; -- entry = next; -- } - } --#endif - - static void nvos_proc_remove(void) - { - #ifdef CONFIG_PROC_FS -- nvos_proc_remove_all(proc_nvidia); -+ remove_proc_subtree("nvidia", proc_nvidia); - #endif - } - -@@ -3065,18 +3070,19 @@ - } - - static int --nv_kern_read_cardinfo(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+nv_procfs_show_card_info( -+ struct seq_file *m, -+ void *v -+) - { - struct pci_dev *dev; - char *type, *fmt, tmpstr[NV_DEVICE_NAME_LENGTH]; -- int len = 0, status; -+ int status; - U032 vbios_rev1, vbios_rev2, vbios_rev3, vbios_rev4, vbios_rev5; - nv_stack_t *sp = NULL; - - nv_state_t *nv; -- nv = (nv_state_t *) data; -- *eof = 1; -+ nv = (nv_state_t *) m->private; - - dev = nv_get_pci_device(nv); - if (!dev) -@@ -3094,38 +3100,38 @@ - 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); - - status = rm_get_vbios_version(sp, nv, &vbios_rev1, &vbios_rev2, - &vbios_rev3, &vbios_rev4, &vbios_rev5); - - if (status < 0) { - /* before rm_init_adapter */ -- 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); - } - - if (nvos_find_agp_capability(dev)) type = "AGP"; - else if (nvos_find_pci_express_capability(dev)) type = "PCI-E"; - else type = "PCI"; -- len += sprintf(page+len, "Card Type: \t %s\n", type); -+ seq_printf(m, "Card Type: \t %s\n", type); - - // Report the number of bits set in dev->dma_mask -- 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 %02x.%02x.%x\n", -+ seq_printf(m, "DMA Mask: \t 0x%llx\n", dev->dma_mask); -+ seq_printf(m, "Bus Location: \t %02x.%02x.%x\n", - nv->bus, nv->slot, PCI_FUNC(dev->devfn)); - #ifdef DEBUG - do - { - int j; - for (j = 0; j < NV_GPU_NUM_BARS; j++) -- len += sprintf(page+len, "BAR%i: \t\t 0x%08x (%iMB)\n", -+ seq_printf(m, "BAR%i: \t\t 0x%08x (%iMB)\n", - j, nv->bars[j].address, nv->bars[j].size >> 20); - } while(0); - #endif -@@ -3133,35 +3139,68 @@ - NV_KMEM_CACHE_FREE_STACK(sp); - - NV_PCI_DEV_PUT(dev); -- return len; -+ return 0; - } - - static int --nv_kern_read_version(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+nv_procfs_read_card_info( -+ struct inode *inode, -+ struct file *file -+) - { -- int len = 0; -- *eof = 1; -- -- len += sprintf(page+len, "NVRM version: %s\n", pNVRM_ID); -- len += sprintf(page+len, "GCC version: %s\n", NV_COMPILER); -- -- return len; -+ return single_open(file, nv_procfs_show_card_info, PDE_DATA(inode)); - } - -+static const struct file_operations nv_procfs_read_card_info_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_read_card_info, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ - static int --nv_kern_read_agpinfo(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+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_agp_info( -+ struct seq_file *m, -+ void *v -+) - { - struct pci_dev *dev; - char *fw, *sba; - u8 cap_ptr; - u32 status, command, agp_rate; -- int len = 0; - - nv_state_t *nv; -- nv = (nv_state_t *) data; -- *eof = 1; -+ nv = (nv_state_t *) m->private; - - if (nv) { - dev = nv_get_pci_device(nv); -@@ -3172,12 +3211,12 @@ - if (!dev) - return 0; - -- len += sprintf(page+len, "Host Bridge: \t "); -+ seq_printf(m, "Host Bridge: \t "); - - #if defined(CONFIG_PCI_NAMES) -- len += sprintf(page+len, "%s\n", NV_PCI_DEVICE_NAME(dev)); -+ seq_printf(m, "%s\n", NV_PCI_DEVICE_NAME(dev)); - #else -- len += sprintf(page+len, "PCI device %04x:%04x\n", -+ seq_printf(m, "PCI device %04x:%04x\n", - dev->vendor, dev->device); - #endif - } -@@ -3191,40 +3230,74 @@ - fw = (status & 0x00000010) ? "Supported" : "Not Supported"; - sba = (status & 0x00000200) ? "Supported" : "Not Supported"; - -- len += sprintf(page+len, "Fast Writes: \t %s\n", fw); -- len += sprintf(page+len, "SBA: \t\t %s\n", sba); -+ seq_printf(m, "Fast Writes: \t %s\n", fw); -+ seq_printf(m, "SBA: \t\t %s\n", sba); - - agp_rate = status & 0x7; - if (status & 0x8) // agp 3.0 - agp_rate <<= 2; - -- len += sprintf(page+len, "AGP Rates: \t %s%s%s%s\n", -+ seq_printf(m, "AGP Rates: \t %s%s%s%s\n", - (agp_rate & 0x00000008) ? "8x " : "", - (agp_rate & 0x00000004) ? "4x " : "", - (agp_rate & 0x00000002) ? "2x " : "", - (agp_rate & 0x00000001) ? "1x " : ""); - -- len += sprintf(page+len, "Registers: \t 0x%08x:0x%08x\n", status, command); -+ seq_printf(m, "Registers: \t 0x%08x:0x%08x\n", status, command); - - NV_PCI_DEV_PUT(dev); -- return len; -+ return 0; - } - - static int --nv_kern_read_status(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+nv_procfs_read_agp_info( -+ struct inode *inode, -+ struct file *file -+) -+{ -+ return single_open(file, nv_procfs_show_agp_info, NULL); -+} -+ -+static const struct file_operations nv_procfs_read_agp_info_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_read_agp_info, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int -+nv_procfs_read_agp_info_gpu( -+ struct inode *inode, -+ struct file *file -+) -+{ -+ return single_open(file, nv_procfs_show_agp_info, PDE_DATA(inode)); -+} -+ -+static const struct file_operations nv_procfs_read_agp_info_gpu_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_read_agp_info_gpu, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ -+static int -+nv_procfs_show_agp_status( -+ struct seq_file *m, -+ void *v -+) - { - struct pci_dev *dev; - char *fw, *sba, *drv; -- int len = 0; - u8 cap_ptr; - u32 scratch; - u32 status, command, agp_rate; - nv_stack_t *sp = NULL; - - nv_state_t *nv; -- nv = (nv_state_t *) data; -- *eof = 1; -+ nv = (nv_state_t *) m->private; - - dev = nvos_get_agp_device_by_class(PCI_CLASS_BRIDGE_HOST); - if (!dev) -@@ -3246,10 +3319,10 @@ - command &= scratch; - - if (NV_AGP_ENABLED(nv) && (command & 0x100)) { -- len += sprintf(page+len, "Status: \t Enabled\n"); -+ seq_printf(m, "Status: \t Enabled\n"); - - drv = NV_OSAGP_ENABLED(nv) ? "AGPGART" : "NVIDIA"; -- len += sprintf(page+len, "Driver: \t %s\n", drv); -+ seq_printf(m, "Driver: \t %s\n", drv); - - // mask off agp rate. - // If this is agp 3.0, we need to shift the value -@@ -3257,13 +3330,13 @@ - if (status & 0x8) // agp 3.0 - agp_rate <<= 2; - -- len += sprintf(page+len, "AGP Rate: \t %dx\n", agp_rate); -+ seq_printf(m, "AGP Rate: \t %dx\n", agp_rate); - - fw = (command & 0x00000010) ? "Enabled" : "Disabled"; -- len += sprintf(page+len, "Fast Writes: \t %s\n", fw); -+ seq_printf(m, "Fast Writes: \t %s\n", fw); - - sba = (command & 0x00000200) ? "Enabled" : "Disabled"; -- len += sprintf(page+len, "SBA: \t\t %s\n", sba); -+ seq_printf(m, "SBA: \t\t %s\n", sba); - } else { - int agp_config = 0; - -@@ -3274,7 +3347,7 @@ - return 0; - } - -- len += sprintf(page+len, "Status: \t Disabled\n\n"); -+ seq_printf(m, "Status: \t Disabled\n\n"); - - /* - * If we find AGP is disabled, but the RM registry indicates it -@@ -3288,7 +3361,7 @@ - rm_read_registry_dword(sp, nv, "NVreg", "XNvAGP", &agp_config); - - if (agp_config != NVOS_AGP_CONFIG_DISABLE_AGP && NV_AGP_FAILED(nv)) { -- len += sprintf(page+len, -+ seq_printf(m, - "AGP initialization failed, please check the ouput \n" - "of the 'dmesg' command and/or your system log file \n" - "for additional information on this problem. \n"); -@@ -3298,37 +3371,63 @@ - } - - NV_PCI_DEV_PUT(dev); -- return len; -+ return 0; -+} -+ -+static int -+nv_procfs_read_agp_status( -+ struct inode *inode, -+ struct file *file -+) -+{ -+ return single_open(file, nv_procfs_show_agp_status, PDE_DATA(inode)); - } - -+static const struct file_operations nv_procfs_read_agp_status_fops = { -+ .owner = THIS_MODULE, -+ .open = nv_procfs_read_agp_status, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ - extern nv_parm_t nv_parms[]; - extern char *NVreg_RegistryDwords; - - static int --nv_kern_read_registry(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+nv_procfs_show_registry( -+ struct seq_file *m, -+ void *v -+) - { -- unsigned int i, len = 0; -+ unsigned int i; - 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 : ""); - -- return len; -+ return 0; - } - - static int --nv_kern_read_text_file(char *page, char **start, off_t off, -- int count, int *eof, void *data) -+nv_procfs_open_registry( -+ struct inode *inode, -+ struct file *file -+) - { -- *eof = 1; -- return sprintf(page, "%s", (char *)data); -+ return single_open(file, nv_procfs_show_registry, NULL); - } - -+static const struct file_operations nv_procfs_registry_fops = { -+ .open = nv_procfs_open_registry, -+ .read = seq_read, -+ .llseek = seq_lseek, -+ .release = single_release, -+}; -+ - /*** - *** EXPORTS to rest of resman - ***/ -diff -ur a/usr/src/nv/nv-i2c.c b/usr/src/nv/nv-i2c.c ---- a/usr/src/nv/nv-i2c.c 2013-03-06 20:58:57.000000000 -0600 -+++ b/usr/src/nv/nv-i2c.c 2013-07-22 19:37:51.286266486 -0500 -@@ -307,8 +307,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)) -@@ -320,15 +318,10 @@ - if (!pI2cAdapter) return FALSE; - - // attempt release with the OS -- osstatus = i2c_del_adapter(pI2cAdapter); -+ i2c_del_adapter(pI2cAdapter); -+ os_free_mem(pI2cAdapter); - -- if (!osstatus) -- { -- os_free_mem(pI2cAdapter); -- wasReleased = TRUE; -- } -- -- return wasReleased; -+ return TRUE; - } - - #else // (defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)) -diff -ur a/usr/src/nv/nv-linux.h b/usr/src/nv/nv-linux.h ---- a/usr/src/nv/nv-linux.h 2013-03-06 20:58:58.000000000 -0600 -+++ b/usr/src/nv/nv-linux.h 2013-07-22 19:37:51.290266486 -0500 -@@ -163,6 +163,7 @@ - - #ifdef CONFIG_PROC_FS - #include <linux/proc_fs.h> -+#include <linux/seq_file.h> - #endif - - #ifdef CONFIG_MTRR diff --git a/source/x11-extra/nvidia-173xx/kernel-3.14.patch b/source/x11-extra/nvidia-173xx/kernel-3.14.patch new file mode 100644 index 0000000..b315085 --- /dev/null +++ b/source/x11-extra/nvidia-173xx/kernel-3.14.patch @@ -0,0 +1,11 @@ +diff -ur a/usr/src/nv/nv-linux.h b/usr/src/nv/nv-linux.h +--- a/usr/src/nv/nv-linux.h 2013-11-27 16:47:09.000000000 -0600 ++++ b/usr/src/nv/nv-linux.h 2014-05-03 22:53:03.403744368 -0500 +@@ -207,6 +207,7 @@ + + #if defined(CONFIG_ACPI) + #include <acpi/acpi.h> ++#include <acpi/acpi_bus.h> + #include <acpi/acpi_drivers.h> + #if defined(NV_ACPI_DEVICE_OPS_HAS_MATCH) || defined(ACPI_VIDEO_HID) + #define NV_LINUX_ACPI_EVENTS_SUPPORTED 1 _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
