plustek@linuxhacker.org

plustek@linuxhacker.org


Subject: .../2.2.19/misc/pt_drv.o: unresolved symbol __bad_udelay
From: Florent Capdeville
Date: 07 May 2001 18:18:11 +0200

Hi all!

I recently upgrade to kernel 2.2.19, so I have to re-recompile the
driver for my 12000P.

I get the last version 0.39-3 and go with sane 1.0.1...
then depmod -a =>unresolved symbol in module pt_drv.o
and while modprobe  =>unresolved symbol __bad_udelay.

So i read groups.google and find that:
http://groups.google.com/groups?hl=en&lr=&safe=off&ic=1&th=cc6a7e3a985ff934,5&seekm=linux.kernel.20001018152027Q.dyky%40df-usa.com#p

that say in substance something like : the udelay fonction should not
be used anymore with big delays in modules ..

I changed plustek_scan.h like that:

/*.............................................................................
 * timer topics
 */
#ifndef __KERNEL__
/*#define _DO_UDELAY(usecs)     { int i; for( i = usecs; i--; ) outb(0x80,0); } */
#define _DODELAY(msecs)		{ int i; for( i = msecs; i--; ) _DO_UDELAY(1); }
#else
/*#define _DO_UDELAY(usecs)	udelay(usecs)*/
#define _DODELAY(msecs)		mdelay(msecs)
#endif
#define _DO_UDELAY(usecs)	{ int i; for( i = usecs; i--; ) outb(0x80,0); }

and it worked , but is this a good way?

Thank you.

plustek@linuxhacker.org