Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Sep 2008 21:13:08 +0100
From:      Bruce M Simpson <bms@incunabulum.net>
To:        Luigi Rizzo <luigi@FreeBSD.org>
Cc:        freebsd-multimedia@FreeBSD.org, pedagand@gmail.com
Subject:   devel/linux-kmod-compat bit me
Message-ID:  <48C58754.6040802@incunabulum.net>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------060804090600060807080109
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

"link_elf: symbol msleep undefined"...

Further here:
    http://www.daemonforums.org/showthread.php?p=12764#post12764

This just bit me, the attached fixes seem to work for me (I can load the 
drivers into the kernel).

It turns out that the __FreeBSD_version cpp conditional is incorrect for 
7.0-RELEASE shipping systems. The key observation was that on line 76 of 
linux_compat.c, msleep() is in fact undefined.

The only cam I have at the moment is the Trust Spacec@m 380 which is not 
supported by the ported ov511 driver, I'm waiting on more units arriving.

--------------060804090600060807080109
Content-Type: text/plain;
 name="1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="1"

--- ./linux/module.h.bak	2008-09-08 20:55:25.000000000 +0100
+++ ./linux/module.h	2008-09-08 21:01:06.000000000 +0100
@@ -209,7 +209,7 @@
 #define udelay(t)	DELAY(t)
 void linux_msleep(int ms);
 
-#if __FreeBSD_version > 700100
+#if __FreeBSD_version > 700054
 // adapt to a change between FreeBSD 6.x and 7.x
 #define msleep_compat(ms)       linux_msleep(ms)
 #undef msleep

--------------060804090600060807080109
Content-Type: text/plain;
 name="2"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="2"

--- ./linux_compat.c.bak	2008-09-08 20:55:37.000000000 +0100
+++ ./linux_compat.c	2008-09-08 21:01:14.000000000 +0100
@@ -69,7 +69,7 @@
 void
 linux_msleep(int ms)
 {
-#if __FreeBSD_version > 700100
+#if __FreeBSD_version > 700054
 	_sleep("linux-msleep", NULL, 0 /* PRI */,
 #else
         /* call the FreeBSD msleep */

--------------060804090600060807080109--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48C58754.6040802>