Kernel i2c 设备驱动详细讲解

1、i2c kernel驱动的架构

2、i2c kernel 设备驱动路径

kernel/drivers/input/misc/sensor/device.c

3、kernel i2c 设备驱动都有两个重要的结构体

复制代码
static const struct i2c_device_id device_id[] = {
	{ "device1" },
	{ "device2" },
	{ "device3" },
	{ }
};

MODULE_DEVICE_TABLE(i2c, device_id);
复制代码
static struct i2c_driver device_driver = {
	.driver = {
		.name	= "device_driver_name",
		.pm	= &device_pm,
	},
	.class		= I2C_CLASS_HWMON,
	.id_table	= device_id,
	.probe		= device_probe,
	.remove		= device_remove,
};

module_i2c_driver(device_driver);
相关推荐
2401_892070981 天前
【Linux C++ 日志系统实战】LogFile 日志文件管理核心:滚动策略、线程安全与方法全解析
linux·c++·日志系统·日志滚动
lwx9148521 天前
Linux-Shell算术运算
linux·运维·服务器
somi71 天前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
双份浓缩馥芮白1 天前
【Docker】Linux 迁移 docker 目录(软链接)
linux·docker
黄昏晓x1 天前
Linux ---- UDP和TCP
linux·tcp/ip·udp
路溪非溪1 天前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
2401_892070981 天前
【Linux C++ 日志系统实战】高性能文件写入 AppendFile 核心方法解析
linux·c++·日志系统·文件写对象
航Hang*1 天前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
-ONLY-¥1 天前
PostgreSQL运维全攻略:从基础操作到远程配置
linux