总线设备驱动模型



***********面向对象的概念*************************************
类:类就是具有相同的属性和功能的对象的抽象的集合(相当于c语言中定义的结构体)
对象:是某个类的实例(相当于c语言中定义的结构体变量)。


基于类的面向对象方式中,对象(object)依靠 类(class)来产生。
而在基于原型的面向对象方式中,对象(object)则是依靠 构造器(constructor)利用 原型(prototype)构造出来的。
事实上关于这两种方式谁更为彻底地表达了面向对象的思想,目前尚有争论。但笔者认为原型式面向对象是一种更为彻底的面向对象方式。


封装:隐蔽类内部不需要暴露的实现细节和属性。 
继承:派生类自动拥有超类的东西。
多态:龙(类)生九子,子子(接口相同,但是接口效果)不同




******************p1229开始,驱动采用面向对象思想,各类的继承关系**********************
1总线bus_type --- platform_bus_type,pci_bus_type,usb_bus_type,i2c_bus_type,spi_bus_type
2设备kobject---device--platform_device,input_dev,pci_dev,usb_device,i2c_dev,spi_device;
            ---cdev---
3驱动 device_driver ---platform_driver,pci_driver,usb_driver,i2c_driver
4.属性:attribute---bus_attribute,device_attribute,driver_attribute,spi_driver,

这样的总线,设备,驱动,有很多很多......


********************************类型转换************************************

子类向父类转换:子类包含了父类,很容易取得父类

父类向子类转换:container of;



************************其他******************************************************
kobject 中的ktype几率kobject的一些属性(包含了释放设备、默认属性以及属性的实现方法)


属性:总线属性bus_attribute,内核对象属性attribute,设备属性device_attribute

操作集合:sysfs_ops,kset_uevent_ops,file_operations


疑问:注册net_device和block_device有文件生成? 预计也有





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值