From cde5045daabaa51f5df1eca352d25035c34c54b0 Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verison.net>
Date: Tue, 15 Jun 2010 21:46:41 +0000
Subject: nvidia-173xx: initial include; for GeForce 5 series GPU's

---
 abs/core-testing/nvidia-173xx/PKGBUILD             |  34 +++++++
 .../nvidia-173xx/nvidia-96.43.11-2.6.30.patch      | 103 +++++++++++++++++++++
 abs/core-testing/nvidia-173xx/nvidia.install       |  14 +++
 3 files changed, 151 insertions(+)
 create mode 100644 abs/core-testing/nvidia-173xx/PKGBUILD
 create mode 100644 abs/core-testing/nvidia-173xx/nvidia-96.43.11-2.6.30.patch
 create mode 100644 abs/core-testing/nvidia-173xx/nvidia.install

diff --git a/abs/core-testing/nvidia-173xx/PKGBUILD b/abs/core-testing/nvidia-173xx/PKGBUILD
new file mode 100644
index 0000000..845e606
--- /dev/null
+++ b/abs/core-testing/nvidia-173xx/PKGBUILD
@@ -0,0 +1,34 @@
+# $Id: PKGBUILD 69360 2010-02-20 11:24:15Z tpowa $
+# Maintainer : Thomas Baechler <thomas@archlinux.org>
+
+pkgname=nvidia-173xx
+pkgver=173.14.25
+_kernver='2.6.28-LinHES'
+
+pkgrel=1
+pkgdesc="NVIDIA drivers for kernel26, 173xx branch."
+arch=('i686' 'x86_64')
+[ "$CARCH" = "i686"   ] && ARCH=x86
+[ "$CARCH" = "x86_64" ] && ARCH=x86_64
+url="http://www.nvidia.com/"
+depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-173xx-utils')
+makedepends=('kernel-headers>=2.6.28' 'kernel-headers<2.6.29')
+conflicts=('nvidia' 'nvidia-173xx')
+license=('custom')
+install=nvidia.install
+source=("http://download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run")
+
+build() {
+	cd $srcdir
+	sh NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run --extract-only
+	cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
+	cd usr/src/nv/
+	ln -s Makefile.kbuild Makefile
+	make SYSSRC=/lib/modules/${_kernver}/build module || return 1
+
+	mkdir -p $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
+	install -m644 nvidia.ko $pkgdir/lib/modules/${_kernver}/kernel/drivers/video/
+
+	sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/nvidia.install
+}
+md5sums=('397bac51f760505ea57e863c1db9c572')
diff --git a/abs/core-testing/nvidia-173xx/nvidia-96.43.11-2.6.30.patch b/abs/core-testing/nvidia-173xx/nvidia-96.43.11-2.6.30.patch
new file mode 100644
index 0000000..44d44fd
--- /dev/null
+++ b/abs/core-testing/nvidia-173xx/nvidia-96.43.11-2.6.30.patch
@@ -0,0 +1,103 @@
+--- usr/src/nv/nv.c.orig 
++++ usr/src/nv/nv.c 
+@@ -15,6 +15,7 @@
+ #include "nv_compiler.h"
+ #include "os-agp.h"
+ #include "nv-vm.h"
++#include <linux/version.h>
+ 
+ #ifdef MODULE_ALIAS_CHARDEV_MAJOR
+ MODULE_ALIAS_CHARDEV_MAJOR(NV_MAJOR_DEVICE_NUMBER);
+@@ -499,10 +500,12 @@
+      * Set the module owner to ensure that the reference
+      * count reflects accesses to the proc files.
+      */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+     proc_nvidia->owner = THIS_MODULE;
+     proc_nvidia_cards->owner = THIS_MODULE;
+     proc_nvidia_warnings->owner = THIS_MODULE;
+ 
++#endif
+     for (j = 0; j < num_nv_devices; j++)
+     {
+         nvl = &nv_linux_devices[j];
+@@ -521,7 +524,9 @@
+ 
+         entry->data = nv;
+         entry->read_proc = nv_kern_read_cardinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+         entry->owner = THIS_MODULE;
++#endif
+ 
+         if (nvos_find_agp_capability(dev)) {
+             /*
+@@ -534,7 +539,9 @@
+                 goto failed;
+             }
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+             entry->owner = THIS_MODULE;
++#endif
+             proc_nvidia_agp = entry;
+ 
+             entry = create_proc_entry("status", flags, proc_nvidia_agp);
+@@ -545,7 +552,9 @@
+ 
+             entry->data = nv;
+             entry->read_proc = nv_kern_read_status;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+             entry->owner = THIS_MODULE;
++#endif
+ 
+             entry = create_proc_entry("host-bridge", flags, proc_nvidia_agp);
+             if (!entry) {
+@@ -555,8 +564,9 @@
+ 
+             entry->data = NULL;
+             entry->read_proc = nv_kern_read_agpinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+             entry->owner = THIS_MODULE;
+-
++#endif
+             entry = create_proc_entry("card", flags, proc_nvidia_agp);
+             if (!entry) {
+                 NV_PCI_DEV_PUT(dev);
+@@ -565,7 +575,9 @@
+ 
+             entry->data = nv;
+             entry->read_proc = nv_kern_read_agpinfo;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+             entry->owner = THIS_MODULE;
++#endif
+         }
+ 
+         NV_PCI_DEV_PUT(dev);
+@@ -576,14 +588,18 @@
+         goto failed;
+ 
+     entry->read_proc = nv_kern_read_version;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+     entry->owner = THIS_MODULE;
++#endif
+ 
+     entry = create_proc_entry("registry", flags, proc_nvidia);
+     if (!entry)
+         goto failed;
+ 
+     entry->read_proc = nv_kern_read_registry;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+     entry->owner = THIS_MODULE;
++#endif
+ 
+     return;
+ 
+@@ -610,7 +626,9 @@
+ 
+     entry->data = (void *)message;
+     entry->read_proc = nv_kern_read_warning;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+     entry->owner = THIS_MODULE;
++#endif
+ #endif
+ }
+ 
diff --git a/abs/core-testing/nvidia-173xx/nvidia.install b/abs/core-testing/nvidia-173xx/nvidia.install
new file mode 100644
index 0000000..ab86ea2
--- /dev/null
+++ b/abs/core-testing/nvidia-173xx/nvidia.install
@@ -0,0 +1,14 @@
+post_install() {
+	KERNEL_VERSION='2.6.28-LinHES'
+	depmod $KERNEL_VERSION
+}
+
+post_upgrade() {
+	post_install
+	rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.'
+}
+
+post_remove() {
+	KERNEL_VERSION='2.6.28-LinHES'
+	depmod $KERNEL_VERSION
+}
-- 
cgit v0.12

