Hi,
I am new to linux and would like to have some information on what exactly io_block_mapping function does. I am not sure if doing io_block_mapping is mandatory if i am accessing an I/O device.

I have a probelm in my application, If i do ioremap of an address, I get the virtual address "xxxxxxxx", and if i do virt_to_phys of the virtual address returned from ioremap, the physical address is not the same as the actual address.

Ex:
MemAlloc=ioremap(0x40000000,sizeof(1024));
PhysAddr=phys_to_virt(MemAlloc);
now, PhysAddr is not shown as 0x40000000.

Is this any way related to io_block_mapping?
Early response will be helpful, in debugging.

Thanks & regards,
Venu