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);
相关推荐
梁洪飞30 分钟前
noc 片上网络
linux·arm开发·嵌入式硬件·arm
颜子鱼2 小时前
Linux驱动-INPUT子系统
linux·c语言·驱动开发
Lueeee.3 小时前
llseek 定位设备驱动实验
linux·驱动开发
Jason_zhao_MR3 小时前
YOLO5目标检测方案-基于米尔RK3576开发板
linux·人工智能·嵌入式硬件·目标检测·计算机视觉·目标跟踪·嵌入式
小小程序媛(*^▽^*)3 小时前
Claude Code 新手保姆级安装与使用指南 (ZCF 版)
linux·编辑器·vim
鱼香rose__3 小时前
管道、环境变量与常用命令
linux
RisunJan3 小时前
Linux命令-last(查看用户登录历史)
linux·服务器·网络
断水客3 小时前
搭建ARM LINUX 内核 QEMU 仿真调试环境
linux·运维·arm开发·嵌入式
fantasy5_53 小时前
深入理解 Linux 动静态库:制作、原理与加载机制
linux·运维·restful
龙仔7254 小时前
n2n supernode Linux完整部署笔记,包含离线部署,
linux·运维·笔记·n2n·supernode