Re: pxafb as module...

From: Shawn Anderson <sa.a.t.xmission.com>
Date: Wed Mar 31 2004 - 20:28:35 EST

On Wed, Mar 31, 2004 at 10:17:30PM +0200, Eddi wrote:
>
> I tried again to compile pxafb as module...
> After insmodding it I get:
>
>
> insmod cfbcopyarea.ko
> /lib/modules/2.6.3-hh2/kernel/drivers/video # insmod cfbimgblt.ko
> /lib/modules/2.6.3-hh2/kernel/drivers/video # insmod cfbfillrect.ko
> /lib/modules/2.6.3-hh2/kernel/drivers/video # insmod pxafb.ko
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000000
> pgd = c3b08000
> [00000000] *pgd=a3b04011, *pte=00000000, *ppte=00000000
> Internal error: Oops: 807 [#1]
> CPU: 0
> PC is at h4000_get_mach_info+0x14/0x20
> LR is at pxafb_get_machine_info+0x3c/0x60 [pxafb]

in drivers/video/pxafb.c the pxafb_get_machine_info() calls
lm->get_mach_info(lm); which is really h4000_get_mach_info()

could be because h4000_get_mach_info() is static? you could try making
it look like:

void *h4000_get_mach_info(struct lcd_device *lm)
{
    return (void *)&h4000_fb_info;
}

i dont know if thats it, all the other machines seem to use a static
get_mach_info function... some printk()'s in the pxafb_get_machine_info()
function would probably help figure it out.

a module_exit() would probably be easy to implement, I would think we
would just have to call the opposite of driver_register(), (not sure
what that is...).

cya,
sa
Received on Thu Apr 01 01:28:36 2004

This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:41:51 EDT