linux设备驱动:xx_driver结构体中成员driver.of_match_table、id_table和设备树的关系

本文探讨Linux驱动中xx_driver结构体的driver.of_match_table和id_table如何与设备树配合工作。当compatible在设备树中为""myvendor,wm5102""时,of_match_table先尝试匹配,若不成功则借助id_table匹配不包含供应商的compatible。内容包括确定I2C总线号情况下的驱动添加方法。" 113683830,7805222,HTML5表单控件:单选、多选与下拉选项解析,"['HTML', '前端开发', 'HTML5', 'CSS3']
摘要由CSDN通过智能技术生成

内容属个人理解

xx_driver结构
id_table
driver.of_mach_table
设备树中
compatible = “myvendor,wm5102”
匹配优先级
of_match_table>id_table
of_match_table表中的厂商和设备树中条目compatible(包含供应商字符串) 的厂商“myvendor”不匹配,则会用id_table去匹配设备树条目compatible (不包含供应商字符串)。

添加I2C设备驱动的方法

一、确定I2C总线号的情况
1.1
static struct i2c_board_info h4_i2c_board_info[] __initdata = {
   
	{
   
		I2C_BOARD_INFO("isp1301_omap", 0x2d),
		.irq		= OMAP_GPIO_IRQ(125),
	},
	{
   	/* EEPROM on mainboard
platform_driver结构体Linux内核用于管理平台设备驱动结构体,它包含了平台驱动程序的所有信息和操作方法,包括设备的初始化、配置、挂载、卸载等功能。以下是platform_driver结构体的主要成员: 1. driver:指向一个struct device_driver结构体的指针,描述了该驱动程序的所有属性和操作方法。 2. probe:设备探测函数指针,当一个平台设备被发现时,该函数会被调用,用于初始化和配置设备。 3. remove:设备卸载函数指针,当一个平台设备被移除时,该函数会被调用,用于释放设备资源和清理设备状态。 4. suspend:设备挂起函数指针,当系统需要挂起设备时,该函数会被调用,用于保存设备状态和关闭设备。 5. resume:设备恢复函数指针,当系统需要恢复设备时,该函数会被调用,用于恢复设备状态和打开设备。 6. id_table:平台设备ID表,包含了该驱动程序支持的所有平台设备ID。 7. driver.name:驱动程序的名称。 8. driver.owner:驱动程序的所有者。 9. driver.bus:驱动程序所属的总线类型。 10. driver.of_match_table设备树匹配表,用于匹配设备树的平台设备。 11. driver.acpi_match_table:ACPI匹配表,用于匹配ACPI设备。 12. driver.pm:设备的电源管理,用于控制设备的电源状态。 13. driver.probe_type:设备探测类型,用于指定设备探测的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值