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);
相关推荐
Linux系统运维工程师_郭主任44 分钟前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent1 小时前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
Coisinier2 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
A心有千千结2 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github
书生执笔画浮沉3 小时前
Linux 内核模块为什么不能自己解决兼容性问题?
linux·c·kernel·update·灵感
15Moonlight3 小时前
Linux网络(03):Socket 编程 TCP
linux·网络·tcp/ip
广州灵眸科技有限公司3 小时前
单芯片同时跑 Linux 与 RT-Thread:RV1126B的AMP异构方案完整拆解
linux·运维·服务器
小雪崩3 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习
C++ 老炮儿的技术栈3 小时前
std::atomic 是什么
linux·c语言·网络·c++·visual studio
2401_862880824 小时前
input 子系统框架 、platform 驱动框架
linux·驱动开发·嵌入式硬件