driver

编辑:1348.com_点击进入 发布于2019-03-27 09:28

        

        

        
        

        出发1348.com

                      app  

        --------------------------------------

                       

              (表示愿意与器械层一致的交流)                |      

           |                        |                      |分层      

           --出发--                   |   

        (计算机硬件相干) (纯软件)

        出发:出发计算机硬件相干和纯软件。

        分层:计算机硬件相干和纯软件分开表达。,表示愿意一致的范围;每地层都专注于本人的事情。

        1。看一点钟情况。

         gpio_keys_init 在插入物应变量中表达平台驱车旅行妥协。

         static int __init gpio_keys_init(void)    {        

          return platform_driver_register(&gpio_keys_device_driver);//表达一点钟平台驱车旅行妥协体;    

        }

        进入gpio_keys_device_driver:    

          struct platform_driver gpio_keys_device_driver = {      

            .probe      = gpio_keys_probe,      

            .remove     = __devexit_p(gpio_keys_remove),      

            .driver     = {              

                    .name   = "gpio-keys",      

            }    

          };

        就GPIO-KEYSY探头功用的议论:       

          input = input_allocate_device();//分派一点钟input_dev妥协 

        2. 关口PrimFieldRover自动记录器应变量,绍介另一点钟打手势要求。 途径驱车旅行典范(BUS)     

          (1)途径也一种妥协。,它克制:DRV链表,DEV链表,.match应变量     

          (2)使掉转船头者妥协(计算机硬件相干):关口device_add应变量把device放入bus途径的DEV链表;当时的从bus的DRV链表中取出每一点钟driver妥协体,应用途径

        婚配应变量决议DRV条件可以倒退DEV。,若倒退则使转移driver妥协体的probe应变量(probe是比力不变的行为准则);     

          (3)驱车旅行器妥协:关口driver_register应变量把driver妥协体放入bus途径的DRV链表;当时的从bus途径的DEV链表中取出每一点钟dev,关口.match函

        一个接一个比力DEV条件倒退DRV。,若倒退则使转移driver妥协体的probe应变量(probe是比力不变的行为准则);

        很3点,这可是Buth-DrvdEV典范的一种机制。;probe应变量外面可以誊写版印刷品总而言之或许表达一点钟印使掉转船头者或许表达input_dev妥协体,这完整打开你。

        定;这可是一种机制。,对单方都是强制的的。,它可以放在若干得名次。;当朕修正计算机硬件时,,仅修正计算机硬件使掉转船头者,驱车旅行零件包含不变。;    

            三。球门:

          应用分层的思惟来编译驱车旅行次。,次要分为两零件。,LeDyDV与计算机硬件调