关于Linux驱动的平台注册方式-- platform_driver_register

http://hi.baidu.com/deep_pro/blog/item/754f7764b73099fbf636544a.html

 

cdev_add 、register_blkdev 这样的驱动注册函数
platform_driver_register这样的写法,
但是没有看到哪本书介绍了相关内容


简要说,使用这种方式,可以轻松的实现device和driver的匹配,即热插拔
因为平台驱动提供了probe 方法,用来探测匹配设备

而通过cdev_add 的方式,就没有probe 的好处,虽然驱动也能够运行,但是属于无组织无纪律的方式,
近似于每个驱动独占设备的控制权
此时设备无法自动找到驱动,只有手动加载驱动,创建设备节点,使用应用程序来控制设备
但是这似乎才是我们熟知的方法,虽然其实不咋地

/Documentation/driver-model/platform.txt

http://www.linuxforum.net/forum/showflat.php?Board=linuxK&Number=712705
上说:
platform device多用在嵌入式SOC环境下, 和标准bus(pci/usb/...)上的设备相比, 
集成在soc的设备有一些特殊性: 比如不可以hotplug, 无法自动probe, 有许多相关的 
资源(irq/io/memory/...)需要在arch代码中传递过来(而不是可以自动probe到), 正 
是这些特殊之处才使得出现了platform device 以及其特殊的一些接口 
(platform_device/platform driver )。

目前还是感觉错误多多,
这样的话,综合以上,应该是说platform device在soc上地位特殊,不是正常挂在PCI 这种可以探测的总线上的,才需要使用这种方式主动触发一个probe来匹配驱动和设备

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值