Linux驱动开发之device与driver关系趣谈


   昨天看到了一则新闻,标题是《家庭主妇都用上了Linux》,如果在10年前看到这则新闻,我们肯定惊讶不已,会说:“我靠,家庭主妇也他妈用 Linux",但现在家庭主妇用Linux对我们来说一点都不新鲜,因为Linux从服务器市场到普通PC市场,其身影无处不在,多的就像牛毛,我们不想看到它都难,随着Linux OS使用的增多,必然会产生一种新的需求——编写驱动程序,就像中国人口的高速增长,必然会出现要采取计划生育的需求一样,同时一种新的职业也随之诞生 ——Linux驱动开发工程师。

  如果刚涉及Linux驱动开发,也就是说你还是个菜鸟时,一般都不会去关心设备驱动模型,因为这个东东太抽象,不是变态不会去深究,新手更多关注的是 “helloword"怎么写,但随着学习的深入,对Linux驱动理解的深化,我们不得不去探究一下bus,device,driver之间的关系,看看表面背后那只无形的手,今天不想多谈bus,我今天重点谈一下device与driver的关系,因为他们俩的关系很暧昧。很值得探究。为什么这样说呢?如果把device比作人的身躯,那么driver就是人的灵魂,如果把device比作男人,那么driver就是女人,如果身躯离开了灵魂,那它只是一堆烂肉,如果男人离开了女人,那他也将一事无成,因为女人是男人背后最大的驱动力(driver),如果device是西门庆,那driver就是潘金莲。

  那device与driver是如何产生暧昧关系的?这个问题才是我们最关心的,要解答这个问题,那就要问bus了,因为她是媒婆,是牵线人,bus把 device介绍给了driver,device与driver眉来眼去,最终确定了这种暧昧关系,bus是如何牵的线呢?这个今天我们就不去多加追究,对媒婆没有太多兴趣,据可靠情报透露,bus是通过家传的配对大法(match)使device与driver联系了起来,当然我们也会想到一句话:红颜祸水。的确不错,driver抛(probe)的媚眼也是关键。

  好了,说了很多,是不是有点晕,最后整理一下device与driver产生暧昧关系的过程,首先由媒婆牵线(match),后来driver抛个媚眼 (probe),device便拜倒在了driver的石榴裙下,彼此产生了暧昧关系,最后谁也离不开了谁,彼此缺少了对方,就像鱼儿离开了水!

相关内容