记录一下imx6ull linux 5.10.9多点电容触摸屏驱动报错问题解决方法

最近再研究如何将linux 5.10.9移植到imx6ull,用的原子的开发板,在移植电容触摸屏驱动时报错gpio gpiochip0: (209c000.gpio): gpiochip_lock_as_irq: tried to flag a GPIO set as output for IRQ,如下图:

该错误的意思就是尝试将一个被配置为输出的 GPIO 引脚设置为中断,这是不允许的。检查了设备树,没有见到该引脚被设置为输出的情况,如下图:

百度、谷歌了一圈下来,也没有找到解决方法。

后来我在想,既然被改成输出了导致报错,那我就将这个引脚在驱动中改成输入应该就可以了吧。说干就干,全文搜索edt,edt-ft5406,找到驱动文件edt-ft5x06.c。

在文件中搜索probe,找到驱动probe函数edt_ft5x06_ts_probe。

简单看了一下函数,在里面添加如下代码,重新编译后启动竟然可以了。

tsdata->irq_gpio = devm_gpiod_get_optional(&client->dev,
						     "interrupt", GPIOD_IN);
	if (IS_ERR(tsdata->irq_gpio)) {
		error = PTR_ERR(tsdata->irq_gpio);
		dev_err(&client->dev,
			"Failed to request GPIO interrupt pin, error %d\n", error);
		return error;
	}

tsdata->irq_gpio这个是本来没有的,后增加的,如下:

重新启动后不在有报错信息,提示驱动安装成功,如下:

通过evtest /dev/input/event1和ts工具测试没有问题,如下:

相关推荐

  1. 电脑问题解决方法记录

    2023-12-31 11:36:03       8 阅读
  2. opencv一些解决方案

    2023-12-31 11:36:03       31 阅读
  3. npm install解决记录

    2023-12-31 11:36:03       28 阅读
  4. QT 常见解决记录

    2023-12-31 11:36:03       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-31 11:36:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-31 11:36:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-31 11:36:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-31 11:36:03       18 阅读

热门阅读

  1. scala--面向对象(2)

    2023-12-31 11:36:03       32 阅读
  2. Redis分布式锁

    2023-12-31 11:36:03       35 阅读
  3. CPU 飙高系统反应慢怎么排查

    2023-12-31 11:36:03       33 阅读
  4. Debezium发布历史36

    2023-12-31 11:36:03       27 阅读
  5. 四十八----react实战

    2023-12-31 11:36:03       39 阅读
  6. 四、Spring IoC实践和应用(三种配置方式总结)

    2023-12-31 11:36:03       32 阅读
  7. XXL-JOB学习笔记-基于代码实现新建、修改任务

    2023-12-31 11:36:03       32 阅读
  8. 12、defer

    2023-12-31 11:36:03       33 阅读
  9. 面试要点,算法,数据结构等练习大全

    2023-12-31 11:36:03       30 阅读
  10. 设计模式之策略模式

    2023-12-31 11:36:03       29 阅读
  11. Redis 的常用命令

    2023-12-31 11:36:03       33 阅读