pci device memory by definition has no hardcodeable address. it may have worked by chance (because hardware and setup code never changed) but this simplistic approach is not supported in linux. you can get a base address from the kernel and add your constant offsets, of course, this way you only have to split your absolute addresses into base address and offset. this book http://lwn.net/Kernel/LDD3/ may be what you need, or have a real look at the UIO interface.
pci mem
pci device memory by definition has no hardcodeable address. it may have worked by chance (because hardware and setup code never changed) but this simplistic approach is not supported in linux. you can get a base address from the kernel and add your constant offsets, of course, this way you only have to split your absolute addresses into base address and offset. this book http://lwn.net/Kernel/LDD3/ may be what you need, or have a real look at the UIO interface.