View Single Post
Old 02-24-07, 12:38 PM   #1
darkspyre
Registered User
 
Join Date: Feb 2007
Posts: 1
Default FreeBSD 7.0: system-function 'bus_setup_intr' gets an additional parameter...

Hi,

it seems that the new CVS-version of FreeBSD7.0 has a change in the system-function 'bus_setup_intr':

Code:
(...)
cc -O2 -fno-strict-aliasing -pipe -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=9746 -D__KERNEL__ -DNVRM -UDEBUG -U_DEBUG -DNDEBUG -O -fno-common -msoft-float -fno-unit-at-a-time -minline-all-stringops -Werror -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I-  -I/src -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -fformat-extensions -c nvidia_pci.c
nvidia_pci.c: In function `nvidia_pci_setup_intr':
nvidia_pci.c:55: warning: passing arg 4 of `bus_setup_intr' from incompatible pointer type
nvidia_pci.c:55: warning: passing arg 5 of `bus_setup_intr' from incompatible pointer type
nvidia_pci.c:55: error: too few arguments to function `bus_setup_intr'
*** Error code 1

Stop in /usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-1.0-9746/src.
*** Error code 1

Stop in /usr/ports/x11/nvidia-driver/work/NVIDIA-FreeBSD-x86-1.0-9746.
*** Error code 1

Stop in /usr/ports/x11/nvidia-driver.
Note: zander's patch is already in

I used this and the drivers works again:

Code:
root@freebsd7:/usr/ports/x11/nvidia-driver/# diff -u nvidia_pci.c.orig nvidia_pci.c.new
--- nvidia_pci.c.orig   Sat Feb 24 19:21:05 2007
+++ nvidia_pci.c.new    Sat Feb 24 19:19:17 2007
@@ -52,7 +52,7 @@
     /* XXX Revisit! (INTR_FAST, INTR_MPSAFE) */
     flags = INTR_TYPE_AV;
 
-    status = bus_setup_intr(dev, sc->irq, flags, nvidia_intr, sc, &sc->irq_ih);
+    status = bus_setup_intr(dev, sc->irq, flags, NULL, nvidia_intr, sc, &sc->irq_ih);
     if (status) {
         device_printf(dev, "NVRM: HW ISR setup failed.\n");
         goto fail;
It's some kind of a filter-argument that was added to this system-function...


Cheers,
DarkSpyre
darkspyre is offline   Reply With Quote