Hi,
Normally during probing, pci device drivers request their regions and ioremap them themselves. But is it correct that this is true for only memory regions?
Yes.
Otherwise there are io regions with few bytes size, and one cannot map each such region since mappings are of page-size granularity. But then when/how are io regions mapped in virtual space?
AFAIK, IO regions do not need to be mapped into virtual address space. The IO port addresses are in a different 16 bit address space al together, very very diferent from the normal 32 bit virtual memory address space. The IO port addresses can be used directly using inb() /outb(), but ofcourse you need to request_region() firstly. Regards, Rajat -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/