Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÄÚºËÉ豸ģÐÍ(2)

·­ÒëÕߣº¹ùÉÙ±¯
2009/12/01
Ô­ÎÄ£ºlinux/Documentation/driver-model/binding.txt
Çý¶¯°ó¶¨
Çý¶¯°ó¶¨¾ÍÊǽ«Ò»¸öÉ豸ºÍ¿ØÖƸÃÉ豸µÄÇý¶¯¹ØÁªÔÚÒ»ÇеĹý³Ì¡£
µäÐ͵ÄÇé¿öÏ£¬×ÜÏßÇý¶¯À´´¦ÀíÇý¶¯°ó¶¨£¬ÒòΪÿ¸ö×ÜÏßÇý¶¯¶¼ÓÐ×ÜÏßÏà¹ØµÄÊý¾Ý
½á¹¹À´±íʾÉ豸ºÍÉ豸Çý¶¯¡£ÓÐÁ˱íʾÉ豸ºÍÉ豸Çý¶¯µÄͨÓÃÊý¾Ý½á¹¹£¬¾ø´ó¶àÊýµÄ°ó
¶¨¹ý³Ì¿ÉÒÔʹÓÃÕâЩͨÓôúÂë¡£
×ÜÏß
~~~
×ÜÏßÀàÐÍÊý¾Ý½á¹¹°üº¬Ò»¸ö¼Ç¼ËùÓÐÊôÓÚÕâ¸ö×ÜÏßÀàÐ͵ÄÉ豸Á´±í¡£µ±Ò»¸öÉ豸Çý¶¯µ÷ÓÃ
device_register()ʱ£¬Ëü»á±»Ìí¼Óµ½Õâ¸öÁ´±íµÄβ²¿¡£
×ÜÏßÀàÐÍÊý¾Ý½á¹¹Ò²°üº¬Ò»¸ö¼Ç¼ËùÓÐÊôÓÚÕâ¸ö×ÜÏßÀàÐ͵ÄÇý¶¯Á´±í¡£µ±Ò»¸öÉ豸Çý¶¯µ÷ÓÃ
driver_register()ʱ£¬¸ÃÇý¶¯»á±»Ìí¼Óµ½Õâ¸öÁ´±íµÄβ²¿¡£
ÕâÊÇ´¥·¢Çý¶¯°ó¶¨µÄÁ½¸öÖ÷Ҫʼþ¡£
É豸ע²á
~~~~~~~~
µ±Ò»¸öÐÂÉ豸±»Ìí¼Óºó£¬×ÜÏßµÄÇý¶¯Á´±í»á±»µü´ú£¬²éÕÒ³öÖ§³Ö¸ÃÉ豸µÄÇý¶¯¡£ÎªÁË´ïµ½
Õâ¸öÄ¿µÄ£¬ÐÂÉ豸µÄÉ豸ID±ØÐëÆ¥ÅäÇý¶¯Ö§³ÖµÄÉ豸IDÖеÄÒ»¸ö¡£É豸IDµÄ¸ñʽºÍ
Óï·¨ÊÇ×ÜÏßÏà¹ØµÄ¡£²»ÐèҪʹÓÃÒ»¸ö¸´ÔÓµÄ״̬»úºÍÆ¥ÅäËã·¨£¬¶øÊÇÓÉ×ÜÏßÇý¶¯Ìṩ
Ò»¸öcallbackº¯ÊýÀ´±È½ÏÉ豸ºÍÒ»¸öÇý¶¯ËùÖ§³ÖµÄIDÊÇ·ñÆ¥Å䣬Èç¹ûÆ¥Åä·µ»ØÖµÎª1£¬·ñÔò
·µ»ØÖµÎª0¡£
int match(struct device * dev, struct device_driver * drv);
µ±Ò»¸öÆ¥Åä±»ÕÒµ½Ê±£¬É豸µÄ'driver'Óò»á±»ÉèÖÃΪÕâ¸öÇý¶¯£¬Çý¶¯µÄprobe»Øµ÷º¯Êý»á±»µ÷Óá£
ÕâʹÇý¶¯Óлú»á¼ìÑéÊÇ·ñÕæÕýÖ§³ÖÕâ¸öÓ²¼þÉ豸,ͬʱ»á¼ìÑéÉ豸ÊÇ·ñ´¦ÓÚ¹¤×÷״̬¡£
É豸Àà±ð
~~~~~~~~~~~~
µ±probe³É¹¦Íê³Éºó£¬É豸±»×¢²áµ½ËüÊôÓÚµÄÀàÖС£É豸Çý¶¯ÊôÓÚÇÒ½öÊôÓÚÒ»¸öÀ࣬Õâ¸öÀà»áÔÚ
Çý¶¯µÄdevclassÓòÖÐÉèÖá£
devclass_add_device±»µ÷ÓÃÀ´Ã¶¾ÙºÍ×¢²áÀàÖеÄÉ豸£¬Õâ¸ö¹ý³Ì·¢ÉúÔÚÀàµÄregister_dev»Øµ÷
º¯ÊýÖС£
×¢Ò⣺É豸class½á¹¹ºÍÆäºËÐIJÙ×÷º¯Êý»¹Ã»ÓнøÈëmainlineÄںˣ¬ËùÒÔÒÔÉÏÌÖÂÛÓÐÒ»¶¨ÍÆ
²âÐÔ¡£
Çý¶¯
~~~~
µ±Ò»¸öÇý¶¯±»¹ØÁªµ½Ò»¸öÉ豸ʱ£¬Õâ¸öÉ豸±»²åÈëµ½Çý¶¯µÄÉ豸Á´±íÖС£
sysfs
~~~~~
ÔÚbusĿ¼µÄ'devices'×ÓĿ¼À´´½¨·ûºÅÁ´½Ó£¬Ö¸Ïòʵ¼ÊµÄdeviceĿ¼¡£
ÔÚdriverµÄ'devices'×ÓĿ¼À´´½¨·ûºÅÁ´½Ó£¬Ö¸Ïòʵ¼ÊµÄdeviceĿ¼¡£
ÔÚclassĿ¼ÀïΪÉ豸´´½¨×ÓĿ¼£¬ÔÚ×ÓĿ¼À´´½¨·ûºÅÁ´½Ó£¬Ö¸Ïò¸ÃÉ豸ÔÚsys
treeÀïµÄʵ¼ÊλÖá£
Ò²¿ÉÒÔÔÚÉ豸µÄʵ¼ÊĿ¼À´´½¨·ûºÅÁ´½Ó£¬Ö¸ÏòËüµÄclassĿ¼£¬»òÕßclassĿ¼µÄ¶¥²ã
Ŀ¼£»Ò²¿ÉÒÔ´´½¨·ûºÅÁ´½Ó£¬Ö¸ÏòËüµÄdriverĿ¼¡£²»¹ýĿǰ²¢Ã»ÓÐÕâÑù×


Ïà¹ØÎĵµ£º

LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

Linux Öеľä±ú

1.¾ä±ú¾ÍÊÇÒ»¸ö±êʶ·û£¬Ö»Òª»ñµÃ¶ÔÏóµÄ¾ä±ú£¬ÎÒÃǾͿÉÒÔ¶Ô¶ÔÏó½øÐÐÈÎÒâµÄ²Ù×÷¡£
.
2.¾ä±ú²»ÊÇÖ¸Õ룬²Ù×÷ϵͳÓþä±ú¿ÉÒÔÕÒµ½Ò»¿éÄڴ棬Õâ¸ö¾ä±ú¿ÉÄÜÊDZêʶ·û£¬mapµÄkey£¬Ò²¿ÉÄÜÊÇÖ¸Õ룬¿´²Ù×÷ϵͳÔõô´¦ÀíµÄÁË¡£
fdËãÊÇÔÚijÖ̶ֳÈÉÏÌæ´ú¾ä±ú°É£»
Linux ÓÐÏàÓ¦»úÖÆ£¬µ«Ã»ÓÐͳһµÄ¾ä±úÀàÐÍ£¬¸÷ÖÖÀàÐ͵Äϵͳ×ÊÔ´Óɸ÷×ÔµÄÀàÐ ......

Red Hat Enterprise Linux 5°²×°VM ware Tools

RHEL5ÔÚ°²×°VM-wareTools¹ý³ÌÖгöÏÖÈçÏ´íÎó£º
What is the
location of the directory of C header files that match your running kernel?
[/usr/src/linux/include] The directory of kernel headers (version
2.6.18-8.el5xen) does not match
´Ë´íÎóÖ÷ÒªÊÇÏëÕÒLinuxÄں˵İüº¬Í·ÎļþÕÒ²»µ½¡£Òª½â¾ö´ËÎÊÌâÐèÒª° ......

[linux] vim±àÂë

VimºÍËùÓеÄÁ÷ÐÐÎı¾±à¼­Æ÷Ò»Ñù£¬¿ÉÒԺܺõı༭¸÷ÖÖ×Ö·û±àÂëµÄÎļþ£¬Õ⵱Ȼ°üÀ¨ UCS-2¡¢UTF-8 µÈÁ÷ÐÐµÄ Unicode ±àÂ뷽ʽ¡£¶øÇҺͺܶàÀ´×Ô Linux ÊÀ½çµÄÈí¼þÒ»Ñù£¬ÕâÐèÒªÄã×Ô¼º¶¯ÊÖÉèÖá£
Vim ÓÐËĸö¸ú×Ö·û±àÂ뷽ʽÓйصÄÑ¡Ïencoding ¡¢fileencoding ¡¢fileencodings ¡¢termencoding (ÕâЩѡÏî¿ÉÄܵÄȡֵÇë²Î¿¼ Vim ÔÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ