Ok, I just added a conditional definition for list_for_each_safe to mach64_drv.h if it's not defined. I'm using 2.4.18, btw. Let me know if there are still compile errors after this.
-Leif On Thu, 23 May 2002, José Fonseca wrote: > It seems that the recent changes have broken source compatibility with > 2.4.7 kernels, as a first-time user experienced. As you can see below, it > seems everything compiles fine except mach64_dma.c. > > The first and most of the errors are related with the no previous > declaration of 'list_for_each_safe'. > > Leif, which kernel are you using? > > José Fonseca > > > > On 2002.05.23 16:48 J5 wrote: > ... > > [root@lain drm]# make -f Makefile.linux mach64.o -n > cc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align > -Wstrict-prototypes > -Wnested-externs -Wpointer-arith > -D__KERNEL__ -DMODULE -fomit-frame-pointer -DCONFIG_AGP -DCONFIG_AGP_MODULE > > -DCONFIG_DRM_SIS -DMODVERSIONS -include > /lib/modules/2.4.7-10custom/build/include/linux/modversions.h > -I/lib/modules/2.4.7-10custom/build/include > -c mach64_dma.c -o mach64_dma.o > ld -r mach64_drv.o mach64_dma.o mach64_state.o -o mach64.o > > ... > > i recompiled the kernel, enabled support for agp, disabled dri from xfree > and finaly installed the modules. and still i can`t get it compiled. > > Compiling... > ERROR: Kernel modules did not compile > > The DRI drivers can not be installed without the latest kernel modules. > Installation will be aborted. See the dri.log file for information on > what went wrong. > > so here it is : > > cc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align > -Wstrict-prototypes > -Wnested-externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer > > -DCONFIG_AGP -DCONFIG_AGP_MODULE -DCONFIG_DRM_SIS -DMODVERSIONS -include > /lib/modules/2.4.7-10custom/build/include/linux/modversions.h > -I/lib/modules/2.4.7-10custom/build/include -c mach64_dma.c -o mach64_dma.o > In file included from > /lib/modules/2.4.7-10custom/build/include/linux/pagemap.h:16, > from > /lib/modules/2.4.7-10custom/build/include/linux/locks.h:8, > from > /lib/modules/2.4.7-10custom/build/include/linux/devfs_fs_kernel.h:6, > from > /lib/modules/2.4.7-10custom/build/include/linux/miscdevice.h:4, > from drmP.h:45, > from mach64_dma.c:33: > /lib/modules/2.4.7-10custom/build/include/linux/highmem.h: In function > `bh_kmap': > /lib/modules/2.4.7-10custom/build/include/linux/highmem.h:21: warning: > pointer of type `void *' used in arithmetic > mach64_dma.c: In function `mach64_do_dispatch_real_dma': > mach64_dma.c:924: warning: implicit declaration of function > `list_for_each_safe' > mach64_dma.c:925: parse error before `{' > mach64_dma.c:769: warning: `entry' might be used uninitialized in this > function > mach64_dma.c:933: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:936: parse error before `volatile' > mach64_dma.c:941: parse error before `volatile' > mach64_dma.c:945: parse error before `volatile' > mach64_dma.c:949: parse error before `volatile' > mach64_dma.c:962: warning: type defaults to `int' in declaration of > `mach64_dump_engine_info' > mach64_dma.c:962: warning: parameter names (without types) in function > declaration > mach64_dma.c:962: conflicting types for `mach64_dump_engine_info' > mach64_dma.c:239: previous declaration of `mach64_dump_engine_info' > mach64_dma.c:962: warning: data definition has no type or storage class > mach64_dma.c:963: warning: type defaults to `int' in declaration of > `mach64_do_engine_reset' > mach64_dma.c:963: warning: parameter names (without types) in function > declaration > mach64_dma.c:963: warning: data definition has no type or storage class > mach64_dma.c:964: warning: type defaults to `int' in declaration of > `mach64_do_release_used_buffers' > mach64_dma.c:964: warning: parameter names (without types) in function > declaration > mach64_dma.c:964: warning: data definition has no type or storage class > mach64_dma.c:965: parse error before `return' > mach64_dma.c:967: warning: type defaults to `int' in declaration of > `mach64_do_release_used_buffers' > mach64_dma.c:967: warning: parameter names (without types) in function > declaration > mach64_dma.c:967: warning: data definition has no type or storage class > mach64_dma.c:968: parse error before `}' > mach64_dma.c: In function `mach64_do_dispatch_pseudo_dma': > mach64_dma.c:993: parse error before `{' > mach64_dma.c:975: warning: `ptr' might be used uninitialized in this > function > mach64_dma.c:977: warning: `entry' might be used uninitialized in this > function > mach64_dma.c:1041: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:1044: warning: type defaults to `int' in declaration of > `mach64_do_release_used_buffers' > mach64_dma.c:1044: warning: parameter names (without types) in function > declaration > mach64_dma.c:1044: warning: data definition has no type or storage class > mach64_dma.c:1046: parse error before `do' > mach64_dma.c: In function `mach64_do_release_used_buffers': > mach64_dma.c:1084: parse error before `{' > mach64_dma.c:1073: warning: `ptr' might be used uninitialized in this > function > mach64_dma.c:1075: warning: `entry' might be used uninitialized in this > function > mach64_dma.c:1090: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:1092: parse error before `do' > mach64_dma.c: In function `mach64_destroy_freelist': > mach64_dma.c:1246: parse error before `{' > mach64_dma.c:1240: warning: `ptr' might be used uninitialized in this > function > mach64_dma.c: At top level: > mach64_dma.c:1252: parse error before `&' > mach64_dma.c:1253: warning: return type defaults to `int' > mach64_dma.c:1253: warning: function declaration isn't a prototype > mach64_dma.c: In function `list_for_each_safe': > mach64_dma.c:1254: `ptr' undeclared (first use in this function) > mach64_dma.c:1254: (Each undeclared identifier is reported only once > mach64_dma.c:1254: for each function it appears in.) > mach64_dma.c:1255: `entry' undeclared (first use in this function) > mach64_dma.c:1257: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:1259: parse error before `&' > mach64_dma.c:1260: warning: return type defaults to `int' > mach64_dma.c:1260: warning: function declaration isn't a prototype > mach64_dma.c:1260: redefinition of `list_for_each_safe' > mach64_dma.c:1253: `list_for_each_safe' previously defined here > mach64_dma.c: In function `list_for_each_safe': > mach64_dma.c:1264: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:1266: parse error before `&' > mach64_dma.c:1267: warning: return type defaults to `int' > mach64_dma.c:1267: warning: function declaration isn't a prototype > mach64_dma.c:1267: redefinition of `list_for_each_safe' > mach64_dma.c:1260: `list_for_each_safe' previously defined here > mach64_dma.c: In function `list_for_each_safe': > mach64_dma.c:1271: warning: control reaches end of non-void function > mach64_dma.c: At top level: > mach64_dma.c:1272: parse error before `}' > mach64_dma.c: In function `mach64_freelist_get': > mach64_dma.c:1300: parse error before `{' > mach64_dma.c:1314: `done_age' undeclared (first use in this function) > mach64_dma.c:1308: label `_freelist_entry_found' used but not defined > mach64_dma.c:1276: warning: `entry' might be used uninitialized in this > function > mach64_dma.c:1277: warning: `ptr' might be used uninitialized in this > function > mach64_dma.c: At top level: > mach64_dma.c:1318: parse error before `:' > mach64_dma.c:1320: warning: type defaults to `int' in declaration of > `list_del' > mach64_dma.c:1320: warning: parameter names (without types) in function > declaration > mach64_dma.c:1320: conflicting types for `list_del' > /lib/modules/2.4.7-10custom/build/include/linux/list.h:93: previous > declaration of `list_del' > mach64_dma.c:1320: warning: data definition has no type or storage class > mach64_dma.c:1321: warning: type defaults to `int' in declaration of > `entry' > mach64_dma.c:1321: `entry' used prior to declaration > mach64_dma.c:1321: `ptr' undeclared here (not in a function) > mach64_dma.c:1321: warning: data definition has no type or storage class > mach64_dma.c:1322: parse error before `->' > mach64_dma.c:1323: parse error before `&' > mach64_dma.c:1323: warning: type defaults to `int' in declaration of > `list_add_tail' > mach64_dma.c:1323: warning: function declaration isn't a prototype > mach64_dma.c:1323: conflicting types for `list_add_tail' > /lib/modules/2.4.7-10custom/build/include/linux/list.h:69: previous > declaration of `list_add_tail' > mach64_dma.c:1323: warning: data definition has no type or storage class > mach64_dma.c: In function `mach64_dma_buffers': > mach64_dma.c:1432: confused by earlier errors, bailing out > make: *** [mach64_dma.o] B³±d 1 > > ... > > _______________________________________________________________ > > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm > > _______________________________________________ > Dri-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/dri-devel > -- Leif Delgass http://www.retinalburn.net _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel