linux imx6 gpio_request 的冲突问题

imx6q 下为 c20 写gpio的驱动,在上层调用 open() 函数时总是报错,返回 -1 。

 

之后分析 gpio_request 函数,并查找 IMX_GPIO_NR(1, 17) 在board-mx6q_sabresd.c 中

的定义,发现有两处定义了, (1, 17) 并且在 mx6_sabresd_board_init() 中进行了使用。

gpio_request(SABRESD_FT5X06_RST, "ft5x06-rst")

 

由于画的PCB板中该管脚为 专用管脚,那么在内核中将该语句注释掉,重新烧写内核后,再进行测试就OK了。

实验证明,gpio_request 只能使用一次,当在其它地方调用同一地址的 gpio_request 就会报错,返回-1,

意为该地址已被申请。在 /proc/mem 应该会有地址占用表描述。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。