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);
相关推荐
ltl5 小时前
实时 OS 巡礼:VxWorks、QNX、Zephyr 与 PREEMPT_RT
linux
我是谁??5 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
Shell运维手记6 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
测试运维日常笔记7 小时前
Linux系统安装配置TigerVNC服务器完整指南
linux·运维·服务器
雾时之林8 小时前
Linux----cron定时服务
linux·运维·服务器
wengqidaifeng10 小时前
1.从“会敲命令”到理解 Linux:15 个基础指令、文件树与命令执行的本质
linux·运维·服务器·ubuntu
奔跑的架构师12 小时前
[A-49]ARMv9/v8-PSCI接口规范与工作流程简介
android·linux·arm开发·arm
(╹◡╹)12 小时前
11.RK3588本地大模型内存评估优化
java·linux·前端
码农客栈12 小时前
Linux 设备树
linux
AI视觉网奇12 小时前
cannot import name ‘model_urls‘ from ‘torchvision.models.resnet‘
linux·前端·javascript