Chinese translated version of Documentation/SubmittingDrivers If you have any comment or update to the content, please contact the original document maintainer directly. However, if you have a problem communicating in English you can also ask the Chinese maintainer for help. Contact the Chinese maintainer if this translation is outdated or if there is a problem with the translation. Chinese maintainer: Li Yang <leo@zh-kernel.org> --------------------------------------------------------------------- Documentation/SubmittingDrivers çä¸æç¿»è¯ å¦ææ³è¯è®ºææ´æ°æ¬æçå 容ï¼è¯·ç´æ¥èç³»åææ¡£çç»´æ¤è ãå¦æä½ ä½¿ç¨è±æ 交æµæå°é¾çè¯ï¼ä¹å¯ä»¥åä¸æçç»´æ¤è æ±å©ãå¦ææ¬ç¿»è¯æ´æ°ä¸åæ¶æè ç¿» è¯åå¨é®é¢ï¼è¯·èç³»ä¸æçç»´æ¤è ã ä¸æçç»´æ¤è ï¼ æé³ Li Yang <leo@zh-kernel.org> ä¸æçç¿»è¯è ï¼ æé³ Li Yang <leo@zh-kernel.org> ä¸æçæ ¡è¯è ï¼ éç¦ Maggie Chen <chenqi@beyondsoft.com> çèª Wang Cong <xiyou.wangcong@gmail.com> å¼ å· Zhang Wei <Wei.Zhang@freescale.com> 以ä¸ä¸ºæ£æ --------------------------------------------------------------------- å¦ä½å Linux å æ ¸æ交驱å¨ç¨åº ----------------------------- è¿ç¯ææ¡£å°ä¼è§£éå¦ä½åä¸åçå æ ¸æºç æ æ交设å¤é©±å¨ç¨åºã请注æï¼å¦æä½ æ å ´è¶£çæ¯æ¾å¡é©±å¨ç¨åºï¼ä½ ä¹è®¸åºè¯¥è®¿é® XFree86 项ç®(http://www.xfree86.org/) åï¼æ X.org é¡¹ç® (http://x.org)ã å¦è¯·åé Documentation/SubmittingPatches ææ¡£ã åé 设å¤å· ---------- å设å¤åå符设å¤ç主设å¤å·ä¸ä»è®¾å¤å·æ¯ç± Linux å½åç¼å·åé æå¨ LANANAï¼ ç°å¨æ¯ Torben Mathiasenï¼è´è´£åé ãç³è¯·çç½åæ¯ http://www.lanana.org/ã å³ä½¿ä¸åå¤æ交å°ä¸»æµå æ ¸ç设å¤é©±å¨ä¹éè¦å¨è¿éåé 设å¤å·ãæå ³è¯¦ç»ä¿¡æ¯ï¼ 请åé Documentation/devices.txtã å¦æä½ ä½¿ç¨çä¸æ¯å·²ç»åé ç设å¤å·ï¼é£ä¹å½ä½ æ交设å¤é©±å¨çæ¶åï¼å®å°ä¼è¢«å¼º å¶åé ä¸ä¸ªæ°ç设å¤å·ï¼å³ä¾¿è¿ä¸ªè®¾å¤å·åä½ ä¹ååç»å®¢æ·çæªç¶ä¸åã 设å¤é©±å¨çæ交对象 ------------------ Linux 2.0: æ¤å æ ¸æºç æ ä¸æ¥åæ°ç驱å¨ç¨åºã Linux 2.2: æ¤å æ ¸æºç æ ä¸æ¥åæ°ç驱å¨ç¨åºã Linux 2.4: å¦ææå±ç代ç é¢åå¨å æ ¸ç MAINTAINERS æ件ä¸åæä¸ä¸ªæ»ç»´æ¤è ï¼ é£ä¹è¯·å°é©±å¨ç¨åºæ交ç»ä»ãå¦ææ¤ç»´æ¤è 没æååºæè ä½ æ¾ä¸å°æ°å½ç ç»´æ¤è ï¼é£ä¹è¯·èç³» Willy Tarreau <w@1wt.eu>ã Linux 2.6: é¤äºéµå¾ªå 2.4 çå æ ¸åæ ·çè§åå¤ï¼ä½ è¿éè¦å¨ linux-kernel é®ä»¶ å表ä¸è·è¸ªææ°ç API ååãå Linux 2.6 å æ ¸æ交驱å¨ç顶级è系人 æ¯ Andrew Morton <akpm@linux-foundation.org>ã å³å®è®¾å¤é©±å¨è½å¦è¢«æ¥åçæ¡ä»¶ ---------------------------- 许å¯ï¼ 代ç å¿ é¡»ä½¿ç¨ GNU éç¨å ¬å¼è®¸å¯è¯ (GPL) æäº¤ç» Linuxï¼ä½æ¯ æ们并ä¸è¦æ± GPL æ¯å¯ä¸ç许å¯ãä½ æ许ä¼å¸æåæ¶ä½¿ç¨å¤ç§ 许å¯è¯åå¸ï¼å¦æå¸æ驱å¨ç¨åºå¯ä»¥è¢«å ¶ä»å¼æºç¤¾åºï¼æ¯å¦BSDï¼ ä½¿ç¨ã请åè include/linux/module.h æ件ä¸æååºçå¯è¢« æ¥åå ±åç许å¯ã çæï¼ çæææè å¿ é¡»åæä½¿ç¨ GPL 许å¯ãæ好æ交è åçæææè æ¯ç¸å个人æå®ä½ãå¦åï¼å¿ éååºææä½¿ç¨ GPL ççæææ 人æå®ä½ï¼ä»¥å¤éªè¯ä¹éã æ¥å£ï¼ å¦æä½ ç驱å¨ç¨åºä½¿ç¨ç°æçæ¥å£å¹¶ä¸åå ¶ä»åç±»ç驱å¨ç¨åºè¡ 为ç¸ä¼¼ï¼èä¸æ¯å»åææ è°çæ°æ¥å£ï¼é£ä¹å®å°ä¼æ´å®¹æ被æ¥åã å¦æä½ éè¦ä¸ä¸ª Linux å NT çéç¨é©±å¨æ¥å£ï¼é£ä¹è¯·å¨ç¨ æ·ç©ºé´å®ç°å®ã 代ç ï¼ è¯·ä½¿ç¨ Documentation/CodingStyle ä¸ææè¿°ç Linux 代ç é£ æ ¼ãå¦æä½ çæäºä»£ç 段ï¼ä¾å¦é£äºä¸ Windows 驱å¨ç¨åºå å ± 享ç代ç 段ï¼éè¦ä½¿ç¨å ¶ä»æ ¼å¼ï¼èä½ å´åªå¸æç»´æ¤ä¸ä»½ä»£ç ï¼ é£ä¹è¯·å°å®ä»¬å¾å¥½å°åºååºæ¥ï¼å¹¶ä¸æ³¨æåå ã å¯ç§»æ¤æ§ï¼ 请注æï¼æé并ä¸æ°¸è¿æ¯ 32 ä½çï¼ä¸æ¯ææç计ç®æºé½ä½¿ç¨å° å°¾æ¨¡å¼ (little endian) åå¨æ°æ®ï¼ä¸æ¯ææç人é½æ¥ææµ®ç¹ åå ï¼ä¸è¦é便å¨ä½ ç驱å¨ç¨åºéåµå ¥ x86 æ±ç¼æ令ãåªè½å¨ x86 ä¸è¿è¡ç驱å¨ç¨åºä¸è¬æ¯ä¸å欢è¿çãè½ç¶ä½ å¯è½åªæ x86 硬件ï¼å¾é¾æµè¯é©±å¨ç¨åºå¨å ¶ä»å¹³å°ä¸æ¯å¦å¯ç¨ï¼ä½æ¯ç¡®ä¿ä»£ç å¯ä»¥è¢«è½»æ¾å°ç§»æ¤å´æ¯å¾ç®åçã æ¸ æ°åº¦ï¼ åå°ææ人é½è½ä¿®è¡¥è¿ä¸ªé©±å¨ç¨åºå°ä¼å¾æ好å¤ï¼å 为è¿æ ·ä½ å° ä¼ç´æ¥æ¶å°ä¿®å¤çè¡¥ä¸èä¸æ¯ bug æ¥åãå¦æä½ æ交ä¸ä¸ªè¯å¾ éè硬件工ä½æºçç驱å¨ç¨åºï¼é£ä¹å®å°ä¼è¢«æè¿åºçº¸ç¯ã çµæºç®¡çï¼ å 为 Linux æ£å¨è¢«å¾å¤ç§»å¨è®¾å¤åæ¡é¢ç³»ç»ä½¿ç¨ï¼æä»¥ä½ ç驱 å¨ç¨åºä¹å¾æå¯è½è¢«ä½¿ç¨å¨è¿äºè®¾å¤ä¸ãå®åºè¯¥æ¯ææåºæ¬ççµ æºç®¡çï¼å³å¨éè¦çæ åµä¸å®ç°ç³»ç»çº§ä¼ç åå¤éè¦ç¨å°ç .suspend å .resume å½æ°ãä½ åºè¯¥æ£æ¥ä½ ç驱å¨ç¨åºæ¯å¦è½æ£ ç¡®å°å¤çä¼ç ä¸å¤éï¼å¦æå®å¨æ æ³ç¡®è®¤ï¼è¯·è³å°æ .suspend å½æ°å®ä¹æè¿å -ENOSYSï¼åè½æªå®ç°ï¼é误ãä½ è¿åºè¯¥å°è¯ç¡® ä¿ä½ ç驱å¨å¨ä»ä¹é½ä¸å¹²çæ åµä¸å°èçµéå°æä½ãè¦è·å¾é©±å¨ ç¨åºæµè¯çæ导ï¼è¯·åé Documentation/power/drivers-testing.txtãæå ³é©±å¨ç¨åºçµ æºç®¡çé®é¢ç¸å¯¹å ¨é¢çæ¦è¿°ï¼è¯·åé Documentation/power/devices.txtã 管çï¼ å¦æä¸ä¸ªé©±å¨ç¨åºçä½è è¿å¨è¿è¡ææçç»´æ¤ï¼é£ä¹é常é¤äºé£ äºææ¾æ£ç¡®ä¸ä¸éè¦ä»»ä½æ£æ¥çè¡¥ä¸ä»¥å¤ï¼å ¶ä»ææçè¡¥ä¸é½ä¼ 被转åç»ä½è ãå¦æä½ å¸ææ为驱å¨ç¨åºçè系人åæ´æ°è ï¼æ 好å¨ä»£ç 注éä¸åæ并ä¸å¨ MAINTAINERS æ件ä¸å å ¥è¿ä¸ªé©±å¨ ç¨åºçæ¡ç®ã ä¸å½±å设å¤é©±å¨è½å¦è¢«æ¥åçæ¡ä»¶ ------------------------------ ä¾åºåï¼ ç±ç¡¬ä»¶ä¾åºåæ¥ç»´æ¤é©±å¨ç¨åºé常æ¯ä¸ä»¶å¥½äºãä¸è¿ï¼å¦ææºç æ éå·²ç»æå ¶ä»äººæä¾äºå¯ç¨³å®å·¥ä½ç驱å¨ç¨åºï¼é£ä¹è¯·ä¸è¦æ æâææ¯ä¾åºåâä¼æ为å æ ¸æ¹ç¨ä½ ç驱å¨ç¨åºççç±ãçæ³çæ åµæ¯ï¼ä¾åºåä¸ç°æ驱å¨ç¨åºçä½è åä½ï¼æ建ä¸ä¸ªç»ä¸å®ç¾ç 驱å¨ç¨åºã ä½è ï¼ é©±å¨ç¨åºæ¯ç±å¤§ç Linux å ¬å¸ç åè¿æ¯ç±ä½ 个人ç¼åï¼å¹¶ä¸å½± åå ¶æ¯å¦è½è¢«å æ ¸æ¥åã没æ人对å æ ¸æºç æ 享æç¹æãåªè¦ä½ å åäºè§£å æ ¸ç¤¾åºï¼ä½ å°±ä¼åç°è¿ä¸ç¹ã èµæºå表 -------- Linux å æ ¸ä¸»æºç æ ï¼ ftp.??.kernel.org:/pub/linux/kernel/... ?? == ä½ çå½å®¶ä»£ç ï¼ä¾å¦ "cn"ã"us"ã"uk"ã"fr" çç Linux å æ ¸é®ä»¶åè¡¨ï¼ linux-kernel@vger.kernel.org [å¯éè¿åmajordomo@vger.kernel.orgåé®ä»¶æ¥è®¢é ] Linux 设å¤é©±å¨ç¨åºï¼ç¬¬ä¸çï¼æ¢è®¨ 2.6.10 çå æ ¸ï¼ï¼ http://lwn.net/Kernel/LDD3/ ï¼å è´¹çï¼ LWN.net: æ¯å¨å æ ¸å¼åæ´»å¨æè¦ - http://lwn.net/ 2.6 çä¸ API çåæ´ï¼ http://lwn.net/Articles/2.6-kernel-api/ å°æ§çå æ ¸ç驱å¨ç¨åºç§»æ¤å° 2.6 çï¼ http://lwn.net/Articles/driver-porting/ KernelTrapï¼ Linux å æ ¸çææ°å¨æ以åå¼åè è®¿è° http://kerneltrap.org/ å æ ¸æ°æ(KernelNewbies): 为æ°çå æ ¸å¼åè æä¾ææ¡£åå¸®å© http://kernelnewbies.org/ Linux USB项ç®ï¼ http://www.linux-usb.org/ åå æ ¸é©±å¨çâä¸è¦âï¼Arjan van de Venèï¼: http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf å æ ¸æ¸ æ´å·¥ (Kernel Janitor): http://kernelnewbies.org/KernelJanitors