Frederic,
I am not sure if I can help, but I can suggest a few things to try:
> ... description of problem deleted...
> ... Code which obviously finds the PCI device deleted...
>
> pci_read_config_dword (dev,0x20,&val);
> LOOKUP = ioremap(val,(u32)0x40000);
> #ifdef DEBUG
> printk("@LOOKUP = 0x%x %x\n",LOOKUP,val);
> #endif
> if(check_region(*LOOKUP,0x40000)) {
> printk("Piraq Lookup Table is locked by someone else\n");
> }
> request_region(*LOOKUP,0x40000,"PII_lookup");
Have you tried check_mem_region and request_mem_region? They would
seem to be the appropriate incantations here. Alternatively, if you know
that you are the only one using the board you can just ignore the
check/request mechanisms entirely. I know that this is bad form, but I am a
fan of expedience over form in such cases.
I would also use the mnemonics for the PCI config words, rather than
the explicit numbers, e.g., PCI_BASE_ADDRESS_4 for 0x20. These are defined
in <linux/pci.h>. Who knows what you may find on other architectures.
> Under /proc/ioports I can see all my request except the one for the
> LOOKUP.
I believe that your request_regions for the other areas are just
getting lucky. /proc/ioports dutifully reports whatever has been requested
and approved (I expect). Try the check_mem_region / request_mem_region and
see if that does not provide a more satisfactory result.
Regards,
Steve
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/