[arch-commits] Commit in nvidia/trunk (2.6.28.patch PKGBUILD nvidia.install)

Tobias Powalowski tpowa at archlinux.org
Fri Dec 26 10:39:24 UTC 2008


    Date: Friday, December 26, 2008 @ 05:39:24
  Author: tpowa
Revision: 22327

upgpkg: nvidia 177.82-2

Added:
  nvidia/trunk/2.6.28.patch
Modified:
  nvidia/trunk/PKGBUILD
  nvidia/trunk/nvidia.install

----------------+
 2.6.28.patch   |  181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD       |   11 +--
 nvidia.install |    4 -
 3 files changed, 189 insertions(+), 7 deletions(-)

Added: 2.6.28.patch
===================================================================
--- 2.6.28.patch	                        (rev 0)
+++ 2.6.28.patch	2008-12-26 10:39:24 UTC (rev 22327)
@@ -0,0 +1,181 @@
+diff -ru usr/src/nv/Makefile.kbuild usr/src/nv.2990799/Makefile.kbuild
+--- usr/src/nv/Makefile.kbuild	2008-10-01 15:13:04.000000000 -0700
++++ usr/src/nv.2990799/Makefile.kbuild	2008-10-27 10:46:28.199802537 -0700
+@@ -185,14 +185,16 @@
+ 	acquire_console_sem \
+ 	kmem_cache_create \
+ 	on_each_cpu \
+-	smp_call_function
++	smp_call_function \
++ 	acpi_evaluate_integer
+ else
+  COMPILE_TESTS = \
+ 	remap_page_range \
+ 	vmap \
+ 	change_page_attr \
+ 	i2c_adapter \
+-	smp_call_function
++	smp_call_function \
++ 	acpi_evaluate_integer
+ endif
+ 
+ #
+diff -ru usr/src/nv/Makefile.nvidia usr/src/nv.2990799/Makefile.nvidia
+--- usr/src/nv/Makefile.nvidia	2008-10-01 15:13:04.000000000 -0700
++++ usr/src/nv.2990799/Makefile.nvidia	2008-10-27 10:45:54.973909102 -0700
+@@ -59,7 +59,8 @@
+ 	vmap \
+ 	change_page_attr \
+ 	i2c_adapter \
+-	smp_call_function
++	smp_call_function \
++	acpi_evaluate_integer
+ 
+ DEFINES+=$(EXTRA_DEFINES)
+ 
+diff -ru usr/src/nv/conftest.sh usr/src/nv.2990799/conftest.sh
+--- usr/src/nv/conftest.sh	2008-10-01 15:13:04.000000000 -0700
++++ usr/src/nv.2990799/conftest.sh	2008-10-27 10:45:57.710065030 -0700
+@@ -67,6 +67,8 @@
+ }
+ 
+ build_cflags() {
++    ARCH=`uname -m | sed -e 's/i.86/i386/'`
++
+     BASE_CFLAGS="-D__KERNEL__ \
+ -DKBUILD_BASENAME=\"#conftest$$\" -DKBUILD_MODNAME=\"#conftest$$\" \
+ -nostdinc -isystem $ISYSTEM"
+@@ -80,16 +82,20 @@
+     test_xen
+ 
+     if [ "$OUTPUT" != "$SOURCES" ]; then
+-        ARCH=`uname -m | sed -e 's/i.86/i386/'`
+         MACH_CFLAGS="-I$HEADERS/asm-$ARCH/mach-default"
+         if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
+             MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
++            MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
+         fi
+         if [ "$XEN_PRESENT" != "0" ]; then
+             MACH_CFLAGS="-I$HEADERS/asm-$ARCH/mach-xen $MACH_CFLAGS"
+         fi
+     else
+         MACH_CFLAGS="-I$HEADERS/asm/mach-default"
++        if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
++            MACH_CFLAGS="$MACH_CFLAGS -I$HEADERS/asm-x86/mach-default"
++            MACH_CFLAGS="$MACH_CFLAGS -I$SOURCES/arch/x86/include/asm/mach-default"
++        fi
+         if [ "$XEN_PRESENT" != "0" ]; then
+             MACH_CFLAGS="-I$HEADERS/asm/mach-xen $MACH_CFLAGS"
+         fi
+@@ -97,6 +103,9 @@
+ 
+     CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS"
+ 
++    if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
++        CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
++    fi
+     if [ -n "$BUILD_PARAMS" ]; then
+         CFLAGS="$CFLAGS -D$BUILD_PARAMS"
+     fi
+@@ -858,7 +867,7 @@
+ 
+             if [ -f conftest$$.o ]; then
+                 rm -f conftest$$.o
+-                echo "#undef NV_ON_EACH_CPU" >> conftest.h
++                echo "#undef NV_ON_EACH_CPU_PRESENT" >> conftest.h
+                 return
+             fi
+ 
+@@ -897,6 +906,57 @@
+             fi
+         ;;
+ 
++        acpi_evaluate_integer)
++            #
++            # Determine if the acpi_evaluate_integer() function is
++            # present and the type of its 'data' argument.
++            #
++
++            echo "$CONFTEST_PREAMBLE
++            #include <acpi/acpi_bus.h>
++            acpi_status acpi_evaluate_integer(acpi_handle h, acpi_string s,
++                struct acpi_object_list *l, unsigned long long *d) {
++                return AE_OK;
++            }" > conftest$$.c
++
++            $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1
++            rm -f conftest$$.c
++
++            if [ -f conftest$$.o ]; then
++                rm -f conftest$$.o
++                echo "#define NV_ACPI_EVALUATE_INTEGER_PRESENT" >> conftest.h
++                echo "typedef unsigned long long nv_acpi_integer_t;" >> conftest.h
++                return
++            fi
++
++            echo "$CONFTEST_PREAMBLE
++            #include <acpi/acpi_bus.h>
++            acpi_status acpi_evaluate_integer(acpi_handle h, acpi_string s,
++                struct acpi_object_list *l, unsigned long *d) {
++                return AE_OK;
++            }" > conftest$$.c
++
++            $CC $CFLAGS -c conftest$$.c > /dev/null 2>&1
++            rm -f conftest$$.c
++
++            if [ -f conftest$$.o ]; then
++                rm -f conftest$$.o
++                echo "#define NV_ACPI_EVALUATE_INTEGER_PRESENT" >> conftest.h
++                echo "typedef unsigned long nv_acpi_integer_t;" >> conftest.h
++                return
++            else
++                #
++                # We can't report a compile test failure here because
++                # this is a catch-all for both kernels that don't
++                # have acpi_evaluate_integer() and kernels that have
++                # broken header files that make it impossible to
++                # tell if the function is present.
++                #
++                echo "#undef NV_ACPI_EVALUATE_INTEGER_PRESENT" >> conftest.h
++                echo "typedef unsigned long nv_acpi_integer_t;" >> conftest.h
++            fi
++        ;;
++
+     esac
+ }
+ 
+diff -ru usr/src/nv/nvacpi.c usr/src/nv.2990799/nvacpi.c
+--- usr/src/nv/nvacpi.c	2008-10-01 15:13:04.000000000 -0700
++++ usr/src/nv.2990799/nvacpi.c	2008-10-27 10:46:05.710520948 -0700
+@@ -136,7 +136,7 @@
+     struct acpi_object_list control_argument_list = { 0, NULL };
+     nv_stack_t *sp = NULL;
+     struct list_head *node, *next;
+-    unsigned long device_id = 0;
++    nv_acpi_integer_t device_id = 0;
+     int device_counter = 0;
+ 
+     NV_KMEM_CACHE_ALLOC_STACK(sp);
+@@ -158,11 +158,9 @@
+ 
+     os_mem_set((void *)pNvAcpiObject, 0, sizeof(nv_acpi_t));
+ 
+-    // assign driver data structure ptr to this device
+-    acpi_driver_data(device) = pNvAcpiObject;
+-
+-    // store a device reference in our object
++    device->driver_data = pNvAcpiObject;
+     pNvAcpiObject->device = device;
++
+     pNvAcpiObject->sp = sp;
+ 
+     // grab handles to all the important nodes representing devices
+@@ -306,7 +304,7 @@
+      */
+     nv_acpi_t *pNvAcpiObject = data;
+     u32 event_val = 0;
+-    unsigned long state;
++    nv_acpi_integer_t state;
+     int status = 0;
+     int device_counter = 0;
+ 

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2008-12-26 10:35:50 UTC (rev 22326)
+++ PKGBUILD	2008-12-26 10:39:24 UTC (rev 22327)
@@ -3,18 +3,19 @@
 
 pkgname=nvidia
 pkgver=177.82
-_kernver='2.6.27-ARCH'
-pkgrel=1
+_kernver='2.6.28-ARCH'
+pkgrel=2
 pkgdesc="NVIDIA drivers for kernel26."
 arch=('i686' 'x86_64')
 [ "$CARCH" = "i686"   ] && ARCH=x86
 [ "$CARCH" = "x86_64" ] && ARCH=x86_64
 url="http://www.nvidia.com/"
-depends=('kernel26>=2.6.27' 'kernel26<2.6.28' 'nvidia-utils')
+depends=('kernel26>=2.6.28' 'kernel26<2.6.29' 'nvidia-utils')
 conflicts=('nvidia-96xx' 'nvidia-71xx' 'nvidia-legacy')
 license=('custom')
 install=nvidia.install
-source=(http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run)
+source=(http://us.download.nvidia.com/XFree86/Linux-$ARCH/${pkgver}/NVIDIA-Linux-$ARCH-${pkgver}-pkg0.run
+	2.6.28.patch)
 md5sums=('882f34a662f0175682fdc4a9bec909ba')
 [ "$CARCH" = "x86_64" ] && md5sums=('6a6d04411529c8d7616deee3d68c5346')
 
@@ -26,7 +27,7 @@
   cd NVIDIA-Linux-$ARCH-${pkgver}-pkg0
   
   # Any extra patches are applied in here...
-
+  patch -Np0 -i $srcdir/2.6.28.patch || return 1
   cd usr/src/nv/
   ln -s Makefile.kbuild Makefile
   make SYSSRC=/lib/modules/${_kernver}/build module || return 1

Modified: nvidia.install
===================================================================
--- nvidia.install	2008-12-26 10:35:50 UTC (rev 22326)
+++ nvidia.install	2008-12-26 10:39:24 UTC (rev 22327)
@@ -1,6 +1,6 @@
 # arg 1:  the new package version
 post_install() {
-  KERNEL_VERSION='2.6.27-ARCH'
+  KERNEL_VERSION='2.6.28-ARCH'
   depmod -v $KERNEL_VERSION  > /dev/null 2>&1		 
 }
 
@@ -13,7 +13,7 @@
 
 # arg 1:  the old package version
 post_remove() {
-  KERNEL_VERSION='2.6.27-ARCH'
+  KERNEL_VERSION='2.6.28-ARCH'
   depmod -v $KERNEL_VERSION	 > /dev/null 2>&1	 
 }
 




More information about the arch-commits mailing list