Feature #5899
open152: Correct usage of IO memory mappings
0%
Description
Summary
The module should not remove mappings which were not previously created.
The module should not recreate a mapping and should not remove already removed mapping.
At the end the module should remove all previously created mappings.
Description
An IO memory mapping is created with the help of static inline void *ioremap(phys_addr_t, unsigned long) and void *ioremap_cache(resource_size_t, unsigned long) (on x86 architecture) or static inline void *ioremap_cache(unsigned long, unsigned long) (on Xtensa or IA-64) or static inline void *ioremap_cache(phys_addr_t, unsigned long) (on SuperH) and with architecture dependent macro or ioremap_nocache and ioremap_wc.
IO memory mappings are removed with static inline void iounmap(volatile void *).
Links
Sample bugfix 57cbe30