lkml.org 
[lkml]   [2001]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectKernel 2.4.0 pre, undefined symbol in atyfb.o
I'm not a subscriber to this list, cause I don't usually muck around with
kernel code, so if anyone needs to reply to me, make sure to CC me in.

I was trying to compile the 2.4.0 prerelease with the aty framebuffer,
and the kernel failed to link due to an unresolved symbol in
drivers/video/atyfb.o (__bad_udelay). The problem seems to be that
in <asm/delay.h>, it doesn't allow arguments to udelay greater than
20000 (despite the warning in <linux/delay.h> indicating 50000 should be
the max). I patched atyfb.c to use mdelay here instead of udelay (line
1754 or thereabouts), and the kernel compiled and linked. I haven't been
able to reboot yet cause I have to do some work to justify my paycheck :)
FWIW, the tiny patch is included as an attachment.


--

Aaron Gaudio
icy_manipulator @ mindless.com
--------------
http://www.rit.edu/~adg1653
"Information is free. Knowledge is expensive. Wisdom is priceless."
--------------
Email Usage Policy: http://www.rit.edu/~adg1653/email.shtml

Zàijiàn
Hello all. I'm not a subscriber, cause I don't normally much around with
kernel code, so if you need to reply to me, please CC my email address
(icy_manipulator@mindless.com).

I tried to compile the new 2.4.0 prerelease and it fails
when trying to link vmlinux, complaining that the symbol __bad_udelay
is undefined in the text section of aty_set_pll18818 in drivers/video/atyfb.o.
Upon some simplistic inspection, it seems the culprit is line 1757, which
calls udelay(50000). In <asm/delay.h> (included by <linux/delay.h>),
__bad_udelay is used if the argument to udelay is > 20000, <linux/delay.h>
also mentions that one shouldn't use more than 5 milliseconds for udelay,
preferring mdelay in this case. Well, those 2 numbers don't seem to correspond,
but rather than futz with the definitions of udelay and mdelay (which I really
have no clue about), I changed line 1757 in atyfb.c to call mdelay instead
of udelay, and the patch for this follows this text. Perhaps that's not the
best solution, I'll let you guys decide that, but it lets me compile and link
the kernel image. Haven't tried actually loading it yet (have to do some work
to justify my paycheck first :).

--

Aaron Gaudio
icy_manipulator @ mindless.com
--------------
http://www.rit.edu/~adg1653
"Information is free. Knowledge is expensive. Wisdom is priceless."
--------------
Email Usage Policy: http://www.rit.edu/~adg1653/email.shtml

Zàijiàn
\
 
 \ /
  Last update: 2005-03-22 12:52    [W:0.032 / U:0.476 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site