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为物理地址,肯定会报错。

将其改为映射后地址后,编译与卸载驱动都正常。

原文地址:https://www.cnblogs.com/y4247464/p/12393513.html