On Tue, 5 Apr 2005, Jeff Chua wrote:
Here's a patch to fix mmapr.c and mmapw.c so that compile under linux.
Thanks, Jeff. [ jchua AT fedex DOT com ]
--- xfree86/xc/programs/Xserver/hw/xfree86/etc/mmapr.c.org Tue Apr 5 13:58:21 2005
+++ xfree86/xc/programs/Xserver/hw/xfree86/etc/mmapr.c Tue Apr 5 14:01:16 2005
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapr.c,v 1.11 2005/03/29 18:41:45 tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapr.c,v 1.10 2004/12/31 16:07:09 tsi Exp $ */
/*
* Copyright 2002 through 2005 by Marc Aurele La France (TSI @ UQV), [EMAIL PROTECTED]
*
@@ -51,12 +51,11 @@
#endif
#ifdef linux -# include <sys/ioctl.h> -# include <linux/pci.h> +#include <sys/ioctl.h>
# ifndef PCIIOC_BASE /* Selected ioctls for /proc/bus/pci/<bus>/<dfn> nodes */ -# define PCIIOC_BASE (('P') << 24) | ('C' << 16) | ('I' << 8)) +# define PCIIOC_BASE (('P' << 24) | ('C' << 16) | ('I' << 8))
/* Set mmap state to I/O space */
# define PCIIOC_MMAP_IS_IO (PCIIOC_BASE | 0x01)
@@ -159,6 +158,7 @@
case 'q':
Size = sizeof(dataq);
break;
+
#ifdef linux
case 'i':
mmap_ioctl = PCIIOC_MMAP_IS_IO;
@@ -168,6 +168,7 @@
mmap_ioctl = PCIIOC_MMAP_IS_MEM;
break;
#endif
+
default:
usage();
}
--- /v6/src2/xfree86/xc/programs/Xserver/hw/xfree86/etc/mmapw.c.org Tue Apr 5 13:21:33 2005
+++ /v6/src2/xfree86/xc/programs/Xserver/hw/xfree86/etc/mmapw.c Tue Apr 5 14:02:43 2005
@@ -51,7 +51,6 @@
#ifdef linux # include <sys/ioctl.h> -# include <linux/pci.h>
# ifndef PCIIOC_BASE /* Selected ioctls for /proc/bus/pci/<bus>/<dfn> nodes */
I agree with the typo fix (blush), but not with the removal of <linux/pci.h>'s inclusion. Instead try
cd <whereever>/xc/programs/Xserver/hw/xfree86/etc touch mmap?.c make EXTRA_DEFINES=-DLINUX_MOD_DEVICETABLE_H mmapr mmapw
If this works (and it does for me), then this is a kernel bug, introduced in 2.5.62. Report it there. <linux/pci.h> should only #include <linux/mod_devicetable.h> when __KERNEL__ is #define'd.
In the meantime, the work-around for mmap?.c would be to #define LINUX_MOD_DEVICETABLE_H before #include <linux/pci.h>, but that might cause other issues later on.
Marc.
+----------------------------------+-----------------------------------+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax: 1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +-----------------------------------+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply | | CANADA | | +----------------------------------+-----------------------------------+ XFree86 developer and VP. ATI driver and X server internals. _______________________________________________ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel