request_mem_region allows
to tell the kernel that your driver is going to use this range of I/O addresses, which will prevent other drivers to make an overlapping call to request_mem_region.
This mechanism does not do any kind of mapping, it's a pure reservation mechanism, which relies on the fact that all kernel device drivers must be nice, and they must call request_mem_region,
check the return value, and behave properly in case of error.
So it is completely logical that your code works without request_mem_region,
it's just that it doesn't comply with the kernel coding rules.

被折叠的 条评论
为什么被折叠?



