驱动如何获取板级信息

接上一篇:linux 板级文件信息的注册流程


问题:板级信息跟确切的说是CPU的资源,这些资源最终是被驱动所用的。那板级信息在随同设备注册到内核之后是如何被驱动获取呢?


1.驱动注册一个模块,该模块加载后悔调用驱动初始化函数

module_init(bt_hwctl_init);///bt_hwctl_init被调用

static int __init bt_hwctl_init(void)

{

....................

/*注册驱动,该去的注册的时候会根据驱动的名字去匹配平台设备,如果匹配成功调用probe函数,同时probe会获得之前平台设备注册进内核的struct platform_device结构体,从改结构体中可以驱动bluetooth的私有数据*/

    platform_driver_register(&mt6622_driver);   //

    ....................

}  

2.probe获取bluetooth私有数据

  static int mt6622_probe(struct platform_device *pdev)

{

    struct mt6622_platform_data *pdata = pdev->dev.platform_data;  //bluetooth私有数据

    ..............................

}

其中:struct platform_device *pdev是bt_hwctl_init调用 platform_driver_register时候获取的结构体。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值