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 应该会有地址占用表描述。

posted @ 2015-04-29 22:07  阿青1987  阅读(1049)  评论(0编辑  收藏  举报