Debag -- 卸载驱动失败(解映射出错)
在make时,编译警告:
1 warning: passing argument 1 of '__arm_iounmap' makes pointer from integer without a cast [enabled by default]
大概意思为iounmap函数中,赋值类型与参数类型不一致,没有管他,上板子运行,但是在卸载驱动时,报错。无法卸载。
看一下报错信息:
“尝试去释放一个不存在的地址”
看一下代码:
........
.........
在映射物理地址时,ioremap的参数为addr,int型的物理地址,返回 void * _iomem
iounmap传入的参数为映射后的void型的地址指针,
GPXCON_REG为物理地址,肯定会报错。
将其改为映射后地址后,编译与卸载驱动都正常。