Sorry about the dud post earlier. Hi, I have some issues with accessing IO ports in the driver I am writing... First I do a pci_enable_device(...), then pci_request_regions(...), and finally ioremap(...). ioremap always returns a null pointer. It seems that it needs to be used for memory mapped IO only... The documentation with the kernel seems to imply that it needs to be always used (for portability). IO using [in|out][b|w|l] seems to work, ie doesn't crash but does not return correct results either. Whereas [read|write][b|w|l] will cause a segfault (due to the null pointer). Can someone please point me to the proper way of doing this (I have not found any sample code where this appears to work). tom.