ACPI 启动下platform_driver定义时是否要用of_match_ptr
来源:互联网 发布:网络新技术有哪些() 编辑:程序博客网 时间:2024/06/06 05:29
一般驱动要同时兼容dt和acpi的话,需要在定义platform_driver的时候同时指定of_match_table和acpi_match_table
static struct platform_driver hns_nic_dev_driver = {
.driver = {
.name = "hns-nic",
.of_match_table = hns_enet_of_match,
.acpi_match_table = ACPI_PTR(hns_enet_acpi_match),
},
.probe = hns_nic_dev_probe,
.remove = hns_nic_dev_remove,
};
但是这段code,其实按照下面的写法会更好
static struct platform_driver hns_nic_dev_driver = {
.driver = {
.name = "hns-nic",
.of_match_table = of_match_ptr(hns_enet_of_match),
.acpi_match_table = ACPI_PTR(hns_enet_acpi_match),
},
.probe = hns_nic_dev_probe,
.remove = hns_nic_dev_remove,
};
即和ACPI_PTR对应的是of_match_ptr
#ifdef CONFIG_OF
#define of_match_ptr(_ptr) (_ptr)
#else
#define of_match_ptr(_ptr) (null)
#endif
同样ACPI_PTR的定义如下:
#ifdef CONFIG_ACPI
#define ACPI_PTR(_ptr) (_ptr)
#else
#define of_match_ptr(_ptr) (null)
#endif
但是现实情况是CONFIG_ACPI和CONFIG_OF 会同时定义,因为ACPI启动下需要通过dt来得到systab.
static struct platform_driver hns_nic_dev_driver = {
.driver = {
.name = "hns-nic",
.of_match_table = hns_enet_of_match,
.acpi_match_table = ACPI_PTR(hns_enet_acpi_match),
},
.probe = hns_nic_dev_probe,
.remove = hns_nic_dev_remove,
};
但是这段code,其实按照下面的写法会更好
static struct platform_driver hns_nic_dev_driver = {
.driver = {
.name = "hns-nic",
.of_match_table = of_match_ptr(hns_enet_of_match),
.acpi_match_table = ACPI_PTR(hns_enet_acpi_match),
},
.probe = hns_nic_dev_probe,
.remove = hns_nic_dev_remove,
};
即和ACPI_PTR对应的是of_match_ptr
#ifdef CONFIG_OF
#define of_match_ptr(_ptr) (_ptr)
#else
#define of_match_ptr(_ptr) (null)
#endif
同样ACPI_PTR的定义如下:
#ifdef CONFIG_ACPI
#define ACPI_PTR(_ptr) (_ptr)
#else
#define of_match_ptr(_ptr) (null)
#endif
但是现实情况是CONFIG_ACPI和CONFIG_OF 会同时定义,因为ACPI启动下需要通过dt来得到systab.
阅读全文
0 0
- ACPI 启动下platform_driver定义时是否要用of_match_ptr
- ACPI
- acpi
- ACPI
- ACPI
- [转]Linux下查看oracle是否启动
- Linux下如何查看tomcat是否启动。
- linux下 查看vsftp是否启动状态
- Linux下如何查看tomcat是否启动
- Linux下如何查看tomcat是否启动
- Linux下如何查看tomcat是否启动
- subsys_initcall宏定义的一个例子,acpi/bus.c里面。
- platform_driver注册时probe被调用关系
- platform_driver平台驱动注册和注销过程(下)
- Linux 下 Redis 启动报错和验证是否成功
- liunx下查看tomcat是否启动/系统日志等
- windows环境下查看mysql服务是否启动
- Linux下如何查看tomcat是否启动-系统日志等
- 启动界面淡入淡出效果
- Spring 框架搭建
- unix domain socket 使用时crash
- html5<canvas图像合成实例之随机闪烁的星星>
- 微信小程序申请开通了流程
- ACPI 启动下platform_driver定义时是否要用of_match_ptr
- Java 8新特性:lambda表达式
- 八大排序算法之插入排序算法
- 微信小程序实例源码大全下载
- (c++)web应用开发框架简单对比
- PorterDuffXfermode学习笔记
- Cisco WLC和瘦ap的配置
- wamp5虚拟主机的配置
- Linux安全运维必看丨谁动了我的主机? 之活用History命令