时间:2020-01-15 类别:
互联网 |
***************美国Xenus/Copley相关工业配件选购咨询热线:15322569805(李生)*******************
诚信经营,质量为首,诚信至上,罗克自动化竭诚为您服务
***************汕头罗克自动化设备有限公司***************
QQ :2687212529
邮箱 :2687212529@qq.com
(请备注咨询具体型号信息李生收)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*所有备件的质保期均为1年,经过专业测试认证。
*如果您需要订购产品超过1件,请与我们联系,我们可以为您提供折扣。
*我们仅采用快递方式递送备件。
*如果您发现其他供货商为相同产品提供更为低廉的价格,我们也愿意参照其价格向您提供进一步的折扣。如果还有其他任何问题,请随时与我们联系。
*请让我们知道您有任何,备品,备件,的需要,我们可以给您进一步的援助,我们等候您的询盘。
一、Linux系统的驱动框架的基础很大一部分是围绕着总线设备驱动模型展开的。
二、涉及3个重要结构体:
struct bus_type:总线
struct device :设备
struct device_driver:驱动
三、结构体核心代码分析(2.6.38内核)
struct bus_type
{
const char *name; // 总线名
struct bus_attribute *bus_attrs; //总线属性文件,会显示在/sys/xxx中
struct device_attribute *dev_attrs; //设备属性文件
struct driver_attribute *drv_attrs; // 驱动属性文件
int (*match)(struct device*dev, struct device_driver *drv);// 驱动与设备是否匹配的检测函数
struct subsys_private *p;
};
其中,struct subsys_private包含一个设备链表(struct klist klist_devices)和一个驱动链表( struct klist klist_drivers)
struct device
{
struct kobject kobj;
const char //设备名
struct bus_type *bus; // 该设备挂接在哪条总线上
struct device_driver*driver; //该设备所对应的驱动
void *platform_data; // 平台特定数据,一般我们移植内核时需填充该结构体(如支持mini2440的nandflash,dm9000等)
dev_t devt; // 设备号
};
任何建立在平台总线设备驱动模型基础上的驱动代码(如平台驱动,PCI驱动,USB驱动,I2C驱动,SPI驱动等),它们的设备结构体(如platform_device, pci_dev,usb_device,i2c_device, spi_device等)都包含一个struct device结构体,当这些驱动向内核注册各式各样的设备时,其实最终都会调用到:
int device_register(struct device *dev)
{
device_initialize(dev); //做各类初始化
//将设备挂接在对应的总线上,主要工作把设备(device)添加到总线 (bus_type)的klist_devices链表
return device_add(dev);
}
struct device_driver {
const char *name;// 驱动名
struct bus_type *bus;// 该驱动所属的总线
int (*probe) (struct device *dev);// 指向设备探测函数
int (*remove) (struct device*dev);// 指向设备移除函数
struct driver_private *p;
};
同理,任何建立在平台总线设备驱动模型基础上的驱动代码(如平台驱动,PCI驱动,USB驱动,I2C驱动,SPI驱动等),它们的驱动结构体(如platform_driver, pci_driver,usb_driver,i2c_driver, spi_driver等)都包含一个struct device_driver结构体,当这些驱动向内核注册各式各样的驱动时,最终都会调用到:
int driver_register(struct device_driver *drv)
{
// 将驱动绑定在对应的总线上,主要工作把驱动(device_driver)添加到总线(bus_type)的klist_drivers链表中去
ret = bus_add_driver(drv);
}
无论是调用driver_register()注册驱动, 还是用device_register注册设备, 内核都会调用总线的match函数来探测是否有合适device_driver的device或者是否有合适device的device_driver,如果match成功,则会调用device_driver的probe函数进行更进一步的探测。
资讯来源:汕头罗克自动化
|
友情提示:
信息由用户自行发布,采用请谨慎,我们鼓励您当面交易。如有不符合法规或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们。名站在线只为传递信息,我们不做任何双方证明,也不承担任何法律责任。 信息转载,请标明来源于www.fwol.cn ,谢谢。
|
和平区安装防盗门制作简介13622075272天津富皇从事防盗门生产安装多年天津英皇安装防盗门厂家**确保质量,成熟的技术含量,保证让您花最少的钱得到**的服务。只挣良心钱,拒绝弄虚作假。在线或电话咨询,免费为您答疑解惑我们有多年工作经验,定做防盗门-同等质量,我们价格**;同等价格,我们质量**!前来选购,给您最实惠的价格,最满意的服务!天津安装防盗门---供应天津防盗门----天津防盗门生产厂家----天津防盗门维修----天津防盗门批发其中防盗门主领...河西区安装防盗门效果至上13622075272天津富皇主营电动伸缩门门类产品质量及外观造型都**同行业,产品推向全国市场,并不断使拉闸门、卷帘门,车库门,防火门,防盗门,伸缩门,提升门,快速门,遮阳棚,遮阳伞,百叶窗,软门帘,彩钢房,岗亭,玻璃门,感应门,铁艺门,围栏,旗杆产品向大众化方向发展。我们对产品营销和服务予以高度评价.我们在整体上采用了先进、成熟、可靠的工艺,给出“质优、形美、价廉”的产品,确保您永远得到高品质的产品。河北区安装防盗门样式华贵13622075272天津富皇门业有限公司是一家集开发、设计、生产、销售于一体的门业专业生产厂家,公司经过多年的快速发展已颇具规模,成为防盗门主要生产企业之一。主营业务防盗门、防火防盗门、钢质防盗门、安全防盗门、防盗门厂家、防盗门价格、防盗门厂、防盗门的价格、防盗门报价、超市防盗门、防盗门批发、双开防盗门、钢制防盗门、非标防盗门、防盗门团购、安全门、防盗门销售、防盗门防火门、**防盗门、团购防盗门、金属防盗门...河东区安装防盗门**站13622075272天津富皇门窗公司积十来年的艺术和技术实践,紧跟时代潮流,开发引进新工艺新技术,精心设计、制作了各式体现当今潮流时尚、艺术和技术**结合的工艺防盗门产品。天津防盗门安装—天津防盗门厂家—天津防盗门设备—天津防盗门定做—天津防盗门制作天津兴盛防盗门—供应天津防盗门—天津防盗门批发防盗安全门根据其安全级别可分为甲、乙、丙、盯四个级别的防盗安全门,其中**防盗性能高,乙级其次,丁级低。我们现在在...南开区安装防盗门专注13622075272天津富皇金属门窗有限公司主要经营不锈钢防护网、防盗窗、防盗门、阳台护栏等系列产品。专业的技术,专业的人员,低廉的价格,天津富皇安装铁艺不锈钢公司愿为广大客户提供热情周到的服务。我公司优质的材料与**的技术相结合,产品不仅外观美丽大方而且价格低廉,经久耐用,深得广大客户的推崇。服务遍及天津各城区,郊区及县城,服务区域和平去,河东区,河西区,河北区,南开区,津南区,东丽区,西青区,北辰区,武...
|
|