goodix触摸屏(IIC)外设驱动
module_i2c_driver的i2c_driver与i2c_client匹配过程
新驱动宏展开:module_i2c_driver(goodix_ts_driver);
linux-5.1.0\include\linux\i2c.h
#define module_i2c_driver(__i2c_driver) \module_driver(__i2c_driver, i2c_add_driver, \i2c_del_driver)
module_driver展开:
#define module_driver(__driver, __register, __unregister, ...) \
static int __init __driver##_init(void) \
{ \return __register(&(__driver) , ##__VA_ARGS__); \
} \
module_init(__driver##_init); \
static void __exit __driver##_exit(void) \
{ \__unregister(&(__driver) , ##__VA_ARGS__); \
} \
module_exit(__driver##_exit);
最后驱动展开如下:
static int __init goodix_ts_driver_init(void){return i2c_add_driver(&goodix_ts_driver);
}
static void __exit goodix_ts_driver_exit(void){return i2c_del_driver(&goodix_ts_driver);
}
i2c_add_driver调用i2c_register_driver
int i2c_register_driver(struct module *owner, struct i2c_driver *driver)//设置总线类型为I2C,里面包含match和probe函数,match函数会找到对应id_table的clientdriver->driver.bus = &i2c_bus_type; res = driver_register(&driver->driver);
goodix触摸屏(IIC)外设驱动相关推荐
- 使用STM32+硬件IIC+DMA驱动GT系列触摸屏(GT911)
使用STM32+硬件IIC+DMA驱动GT系列触摸屏(GT911) 初始化代码 /** @brief GT911 初始化程序* @param None* @retval None*/ void GT9 ...
- Esp8266 进阶之路31【外设篇】分享一个乐鑫esp8266 SDK编程使用 IIC总线驱动 0.96寸的OLED显示屏,显示天气预报信息。(附带Demo)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...
- zynq 7000 的 iic 外设编程
本文主要介绍zynq 7000下的i2c ps 外设编程.实验是在vivado 2018.3 上完成的. 本实验的前提条件是你已经做过了zynq 7000的helloworld sdk 实验.一般开发 ...
- Linux驱动的软件架构(三):主机驱动与外设驱动分离的设计思想
<Linux设备驱动开发详解>的学习笔记 1.主机驱动与外设驱动分离 Linux中的SPI.I2C.USB等子系统都利用了典型的把主机驱动和外设驱动分离的想法,让主机端只负责产生总线上的传 ...
- 关于rt-thread的外设驱动原理(例子spi)
一:有关SPI rt中用户需要添加spi的注册和初始化文件如:drv_spi,里面需要做的是 static struct rt_spi_ops gd32_spi_ops = { configure, ...
- 2018-2019-1 20165318 20165322 20165326 实验四 外设驱动程序设计
实验四 外设驱动程序设计 实验内容 任务一 任务二 问题及解决方法 参考链接 实验内容 任务一 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十 ...
- Linux主机驱动与外设驱动分离思想
- by 宋宝华(Barry Song) 1主机.外设驱动分离的意义 在Linux设备驱动框架的设计中,除了有分层设计实现以外,还有分隔的思想.举一个简单的例子,假设我们要通过SPI总线访问某外设,在 ...
- 计算机连接外设的端口驱动,将 KMDF 外设驱动程序连接到串行端口
将 KMDF 外设驱动程序连接到串行端口 04/20/2017 本文内容 SerCx2 管理的串行端口上的外围设备的 KMDF 驱动程序需要某些硬件资源来运行设备. 这些资源包含驱动程序打开串行端口逻 ...
- 2017-2018-1 20155327 实验四 外设驱动程序设计
2017-2018-1 20155327 实验四 外设驱动程序设计 题目一 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记 ...
- location驱动包_Zynq SDK 驱动探求(三):论一个外设驱动的全部身家·Xilinx SDK 驱动源码结构...
Processor is ready. Configure programable logic. 在新专栏 Rapid TCP/IP on Zynq 中,将围绕 Xilinx Zynq 系列芯片,从 ...
最新文章
- 老调重弹:插件式框架开发的一个简单应用
- Go web之旅(Request分析)
- 穿上这件全球首款「隐形衣」,做这条街最「无脸」的仔;阿里给钱给资源,求解AI安全难题...
- 世界上第一个程序员竟然是女性,难以置信......
- $ajax 筛选某个属性,jQuery
- 科研|青椒工作九年后感慨:比SCI重要,比项目值钱的是…
- Centos7.4安装Mysql5.6
- war文件放到服务器乱码,maven 打war包tomcat服务器乱码问题
- 计算机网络 华东理工大学 第7章测试
- 真正的免费云时代来临,免费1T全能空间提供1T免费全能空间申请,
- RLChina强化学习笔记
- Excel操作-多条件筛选
- 微信小程序按钮添加背景
- 【小家Spring】注意BeanPostProcessor启动时对依赖Bean的“误伤”陷阱(is not eligible for getting processed by all...)
- [转载] 心目中的编程高手-----后学者以自励
- Arduino基础1
- 中科院计算所培训中心举办【人工智能的计算机工程】企业内部培训
- 解决spark运行时控制台打印冗杂的INFO(屏蔽掉无用的INFO)
- threeJS对光有反应的材质
- k8s的service网络模型