==================================
ϡ
linux-2.6.39/Documentation/SubmittingPatches 
Ǥ
Ρ JF ץ < http://www.linux.or.jp/JF/ >
 2011/06/09
ԡ Keiichi Kii <k-keiichi at bx dot jp dot nec dot com>
ԡ Masanori Kobayashi  <zap03216 at nifty dot ne dot jp>
         Matsukura  <nbh--mats at nifty dot com>
         Takeshi Hamasaki  <hmatrjp at users dot sourceforge dot jp>
==================================

        Linux ͥѹä뤿 Howto
        
         Linus Torvalds μ갷



Linux ͥѹäȻפäƤĿϲҤˤȤäơѥ
Ƥ˴ϢȤߤ˴ƤʤСβϻߤʤ
Ť뤳Ȥ⤢ޤʸϤϤʤѹ礤˼
Ƥ館䤹Ƥ򽸤᤿ΤǤ

ɤƤˡDocumentation/SubmitChecklist ιܥꥹȤ
̤ƥåƤ⤷ʤɥ饤СƤ褦Ȥ
Ƥʤ顢Documentation/SubmittingDrivers ˤܤ̤Ƥ



--------------------------------------------
1 ѥåκ
--------------------------------------------



1)  diff -up 
------------

ѥåκˤϡ diff -up ϡ diff -uprN פȤäƤ

Linux ͥФƤѹ diff(1) ޥɤˤѥåη
ƤѥåȤˤϡdiff(1) ޥɤˡ -u װ
ꤷơunified Υѥå뤳ȤǧƤޤ
ѹɤ C ؿǹԤ줿Τɽ -p װȤäƤ
ΰʬ򤺤äɤߤ䤹Ƥޤѥå Linux 
ͥ륽Υ֥ǥ쥯ȥǤϤʤ Linux ͥ륽Υ롼
ǥ쥯ȥˤʤȤޤ

1ĤΥեˤĤƤΥѥå뤿ˤϡۤȤɤξ硢
ʲκȤԤнʬǤ

	SRCTREE= linux-2.6
	MYFILE=  drivers/net/mydriver.c

	cd $SRCTREE
	cp $MYFILE $MYFILE.orig
	vi $MYFILE	# make your change
	cd ..
	diff -up $SRCTREE/$MYFILE{.orig,} > /tmp/patch

ʣΥեˤĤƤΥѥå뤿ˤϡǤ( vanilla )
ʤѹäƤʤ Linux ͥŸʬ Linux ͥ
ȤκʬʤȤޤ㤨С

	MYSRC= /devel/linux-2.6

	tar xvfz linux-2.6.12.tar.gz
	mv linux-2.6.12 linux-2.6.12-vanilla
	diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \
		linux-2.6.12-vanilla $MYSRC > /tmp/patch

dontdiff եˤ Linux ͥΥӥɥץβ줿
եΰΤäƤޤơϥѥå diff(1)
ޥɤ̵뤵٤Ǥdontdiff ե 2.6.12 ʸΥС
 Linux ͥ륽ĥ꡼˴ޤޤƤޤΥС
 Linux ͥ륽ĥ꡼Ф dontdiff եϡ
<http://www.xenotime.net/linux/doc/dontdiff>뤳ȤǤޤ

Ƥѥå˴طΤʤ;ʬʥե뤬ޤޤƤʤȤ
ǧƤdiff(1) ޥɤѥåʤΰտޤȤ
ΤΤǤ뤳ȤǧƤ

⤷ʤΥѥå¿κʬ߽ФΤǤСʤϥѥå
̣ΤҤȤޤȤޤꤴȤʬȻפ⤷ޤ
¾Υͥ볫ȯԤˤȤäƥӥ塼䤹ʤΤǡʤ
ѥåƤ餦ˤϤȤƤפʤȤǤǤ
¿ΥץȤޤ

Quilt:
http://savannah.nongnu.org/projects/quilt

Andrew Morton's patch scripts:
http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
Υ󥯤ΥץȤȤơquilt ѥåޥͥ
ġȤƿ侩Ƥޤ(Υ󥯤򸫤Ƥ)



2) ѥåФ

ѥåѹФ뵻Ūʾܺ٤ˤĤƤ

ϤǤ¤ŪˡäȤⰭϡ֥ɥ饤С X 򹹿ס
֥ɥ饤С X ФХեåפ뤤ϡ֤Υѥåϥ֥
ƥ X Ф빹ޤǤޤɤƤפʤɤǤ

ѥå Linux ͥΥɥޥͥȥƥ git פ
ߥåȥȤƴñ˰ѤǤǽ񤱤Сƥʤ鴶դǤ礦
ʲ #15 򸫤Ƥ

ĹʤΤǤС餯ϥѥåʬɬפ
ȤǤ #3 򸫤Ƥ

ѥå(꡼)()ƤʬʥѥåȤΥѥåɬפͳ
ѥå˴ޤƤ֤ϥѥå(꡼)ΥС NפȤ
񤫤ʤǤơѥåޡͤ˥ѥåõ
ѥåɵ뤿ᡢΥСΥѥå䤽Υѥå URL 򻲾Ȥ
֤򤫤ʤǤ
Ĥޤꡢѥå꡼Ȥϰˤ٤Ǥϥѥåޡ
͡ӥ塼͡ɤΤˤʤޤӥ塼ͤˤϡ餯
ΥСΥѥåäƤ⤤ʤͤޤ

ϿѤߤΥХȥѥåǤСΥХȥ򼨤Х ID
 URL Ƥ


3) ѥåʬ

̣ΤҤȤޤȤޤꤴȤѹġΥѥåեʬƤ

㤨С⤷1ĤΥɥ饤СФХեåȥѥեޥ󥹶
ξѹޤǤΤǤСѹ2İʾΥѥåʬ
Ƥ⤷ѹս API ιȡο API Ȥ
ɥ饤СޤޤƤʤ顢2ĤΥѥåʬƤ

ǡ⤷ʤ¿ΥեФựŪƱ1Ĥѹä
ΤǤСѹ1ĤΥѥåˤޤȤƤȡ
̣ŪƱ1Ĥѹ1ĤΥѥå˴ޤޤޤ

ѥåѹ򴰷뤵뤿¾Υѥå˰¸ƤȤƤ⡢
ꤢޤ󡣥ѥåǡ֤Υѥåϥѥå X ˰¸
Ƥפȴñս񤭤ĤƤ

⤷ѥå꾮ʥѥåν˶Ž̤뤳ȤǤʤʤ顢ޤ
15ΥѥåꡢΥӥ塼ԤäƲ



4) ѥåΥå

ʤΥѥåŪ( Linux ͥ)ǥ󥰥˰ȿ
ƤʤåƲξܺ٤ Documentation/CodingStyle 
Ĥ뤳ȤǤޤǥ󥰥ΰȿϥӥ塼ͤ
̵֤̤ˤʤΤǡ餯ʤΥѥåɤޤ뤳Ȥʤ
ݤǤ礦

ʤϥѥåƤ˺¥ѥåå
( scripts/checkpatch.pl )Ѥƥѥåå٤Ǥ
⤷ѥå˰ȿΤäƤʤСƤˤĤƤʤ
ͳ򼨤褦ˤƤɬפޤ



5) Żҥ᡼ΰ

MAINTAINERS եȥɤܤ̤Ƥơ
ƥʤΤΥ֥ƥ˲äΤǤ뤳Ȥʬ
СοͤŻҥ᡼äƤ

⤷ƥʤܤäƤʤäꡢƥʤαʤʤ顢
LKML ( linux-kernel@vger.kernel.org )إѥåäƤۤȤ
Υͥ볫ȯԤϤΥ᡼󥰥ꥹȤܤ̤ƤꡢѹФ
Ȥ뤳ȤǤޤ


15Ĥ¿ΥѥåƱ vger.kernel.org Υ᡼󥰥ꥹȤ
Ǥ!!!


Linus Torvalds  Linux ͥƤѹФǽŪʰջ׷
ǤŻҥ᡼륢ɥ쥹 torvalds@linux-foundation.org ˤʤޤ
¿Żҥ᡼äƤ뤿ᡢǤ¤Żҥ᡼Τ
򤱤٤Ǥ

ХեåǤäꡢѹǤäꡢä礤ۤȤ
ɬפȤʤѥå Linus Żҥ᡼뤫 CC ʤФʤޤ
ä礤ɬפȤꡢΤʥɥХơʤѥåϡ̾ޤ
 LKML ٤Ǥѥå줿ˤΥѥå
Linus ٤Ǥ



6) CC (ܥ󥳥ԡ)

äͳʤʤ顢LKML ˤ CC Ƥ

Linus ʳΥͥ볫ȯԤѹ˵Ťɬפꡢη̡Ϥ
ѹФƥȤ򤯤줿ꡢɤФƥӥ塼Ƥ򤯤
뤫⤷ޤLKML Ȥ Linux ͥ볫ȯԤˤȤäư濴Ūʥ᡼
󥰥ꥹȤǤUSB ե졼ХåեǥХ VFS  SCSI ֥
ʤɤΥ֥ƥ˴ؤ᡼󥰥ꥹȤ⤢ޤʤ
ѹˡϤäȴϢΤ᡼󥰥ꥹȤˤĤΤꤿ
MAINTAINERS ե򻲾ȤƤ

VGER.KERNEL.ORG ǥۥƥ󥰤Ƥ᡼󥰥ꥹȤΰ
Ȥ˺ܤäƤޤ
<http://vger.kernel.org/vger-lists.html>

⤷ѹ桼ɤΥͥ륤󥿥ե˱ƶͿ
ΤǤСMAN-PAGES Υƥ( MAINTAINERS ե˰
ޤ) man ڡΥѥåäƤʤȤ
󤬥ޥ˥奢ڡäƤ褦ˡѹȤ
ΤäƤ

Ȥƥʤ #5 ȿʤäȤƤ⡢ƥʤΥɤѹ
äȤˤϡĤƥʤ CC Τ˺ʤ褦ˤƤ

ʥѥåǤСTrivial Patch Monkey(äȤѥå򽸤Ƥ)
<trivial@kernel.org> CC Ƥ⤤ǤθԤˤĤƤ MAINTAINERS
ե򸫤ƤäȤѥåȤϰʲΥ롼Τɤ줫1Ĥ
ʤФʤޤ
 ɥȤΥڥߥν
 grep(1) ޥɤˤ븡ˤƤ륹ڥν
 ѥηٹν(̵̤ʷٹ𤬻𤹤뤳ȤϹޤʤ
   Ǥ)
 ѥν(ν˸¤)
 ¹Իν(νƤ˸¤)
 ѻͽδؿޥѤƤ륳ɤν( check_region )
 䤤碌ɥȤν
 ܿΤʤɤܿΤ륳ɤؤ֤(ϰϤ
   ХƥͭΤȤǤ¾οͤԡǤޤ)
 Ԥƥʤˤ뽤(ʤ patch monkey κž⡼)



7) MIME 󥯤䰵̥եźեեǤϤʤץ쥤ƥȤΤ

Linus ¾Υͥ볫ȯԤϤʤƤѹɤǡȤǤ
ɬפޤͥ볫ȯԤˤȤäơʤ񤤤ɤ
ʬ˥Ȥ򤹤뤿ˡɸŪŻҥ᡼륯饤Ȥѹ
Ǥ뤳ȤϽפǤ

嵭ͳǡ٤ƤΥѥåʸ˴ޤŻҥ᡼Ƥ
٤Ǥٹ𡧤ʤѥå򥳥ԡ&ڡȤݤˤϡѥ
륨ǥޤ֤ǽդƤ

ѥå򰵽̵̤ͭ˴ؤ餺 MIME źդʤǤ¿Υ
ԥ顼Żҥ᡼륯饤Ȥ MIME źեեץ졼
ȤȤȤϸ¤ʤǤ礦ʤȡŻҥ᡼륯
ȤɤФ륳Ȥդ뤳ȤǤʤޤޤ
MIME źեե Linus ˼֤餻뤳Ȥˤʤꡢѹ
Ƥ餦ǽ㤯ʤäƤޤޤ

㳰ȤŻҥ᡼륯饤Ȥѥå㤯ˤΤ
Сï MIME Υѥå褦뤫⤷ޤ

;פѹäˤʤΥѥå뤿Żҥ᡼륯饤Ȥ
ΥҥȤˤĤƤ Documentation/email-clients.txt 򻲾ȤƤ

8) Żҥ᡼Υ

ѥå Linus ȤϾ #7 μ˽äƤ

礭ʥѥåϥ᡼󥰥ꥹȤƥʤˤȤäԿڤǤѥå
̤̤ 300KB Ķ褦Ǥʤ顢󥿡ͥåȾΥǽ
Ф¸¸򼨤 URL ۤŬڤǤ



9) ͥС

ѥåоݤȤ륫ͥΥСѥåγפŻҥ᡼
֥Ȥդ뤳ȤפǤ

ѥåǿСΥͥŬѤǤʤСLinus 
ΥѥåѤʤǤ礦



10) äꤻ

ѥåƤϡԤäƤƤLinus ʤΥѥ
򵤤äƺѤСLinus ꡼뼡ΥСΥͥ
ǻѤ򸫤Ǥ礦

ѥåΥСΥͥäƤʤʤ顢Ĥ
ͳΤǤ礦θʤߡְäƤΤ
ѥåƤΤϤʤλŻǤ

Linus ʤΥѥåФƲΥȤʤԺѤˤ뤳Ȥ϶ˤ
̤ΤȤǤϼʻѤǤ⤷Linus ʤΥѥå
äƤʤΤǤСʲͳͤޤ
* ѥåǿС Linux ͥˤŬѤǤʤä
* ѥå LKML ǽʬ˵Ƥʤä
* (2򻲾)
* Żҥ᡼եޥåȤ(Υ򻲾)
* ѥåФ뵻Ū
* Linus ϤŻҥ᡼äƤΤǡɤʶƸ
  ä
* ˤƤ

ȽǤǤʤϡLKML ˥ȤǤ



11) ֥Ȥˡ PATCH 

Linus  LKML ؤ̤Żҥ᡼Τˡ֥ȤΥץեå
 [PATCH] פդ뤳ȤȤʤäƤޤˤä Linus ¾
ͥ볫ȯԤѥåǤΤϡ¾ε˴ؤŻҥ᡼Ǥ
ñ˼̤Ǥޤ



12) ѥåؤν̾

ï򤷤Τɤ䤹뤿 (äˡѥåͤ
ƥʤФƺǽŪ Linux ͥ˼ޤΤ)Ż
᡼ǤꤵѥåФơ sign-off פȤ³Ƴ
ޤ

 sign-off פȤϡѥåʤν񤤤ΤǤ뤫뤤ϡ
ʤΥѥå򥪡ץ󥽡Ȥ󶡤븢ݻƤ롢
Ȥѥå˰ԵܤȤΤǤ
롼ϤȤƤñǤʲιܤǧƲ

        Ԥξ( DCO ) 1.1

        ΥץȤ˴ͿΤȤơʲΤȤ롣

        (a) ܴͿϻ䤬ϰΤǤꡢ䤬Υե
            줿ץ󥽡饤󥹤βǸ븢
            äƤ롣⤷ϡ

        (b) ܴͿϡ䤬Τ¤ꡢŬڤʥץ󥽡饤󥹤ǥ
            Ƥ¸κʤ򸵤ˤƤ롣ƱˡϤΥ饤
            󥹤βǡ䤬ϰʪ򡢥եǼ
            ƱΥץ󥽡饤󥹤(ۤʤ饤󥹤β
            Ƥ뤳ȤĤƤ)Ƥ븢ä
            롣⤷ϡ

        (c) ܴͿ(a)(b)(c)3Ԥľ󶡤줿
            ΤǤꡢϤѹäƤʤ

            ϤΥץȤܴͿΤΤǤ뤳ȤڤƱդ
            롣ƱˡͿϿ(ƤκݤƤθĿ; sign-off 
            ޤ)̵¤뤳ȤȡץϴϢ
            ץ󥽡饤󥹤˱äǺۤ뤳Ȥڤ
            Ʊդ롣

⤷ƱդǤʤ顢ʲΤ褦1ԤɲäƤ

	Signed-off-by: Random J Developer <random@developer.example.org>

̾ȤäƤ(ǰǤ̾ƿ̾ˤͿϤǤޤ)

ͤˤäƤ sign-off ζ᤯ɲäΥղäƤޤϺΤȤ
̵뤵ޤʤϤΥμ³Ѥꡢsign-off 
ʾ򼨤ꤹ뤳ȤǤޤ

ʤ֥ƥޤϥ֥ΥƥʤǤСäѥå򼫿Ȥ
ĥ꡼˥ޡ뤿ˡ鷺ѹɬפȤʤ礬ޤʤʤ
ʤΥĥ꡼ΥɤƼԤΥĥ꡼ΥɤƱǤϤʤǤ
⤷ʤ̩˾嵭롼(c)ˤΤǤСƼԤ˺ٺʬ
Ȥ褦ꤹ٤Ǥϻ֤ȥͥ륮Ūϲ񤹤
Ȥˤʤޤ롼(b)Ϥʤ˥ɤ븢ͿƤޤ
ƼԤΥɤνˤХƼԤ˲դƤޤ
ȤϤȤƤ⼺ʤȤǤ褹뤿ˡƼԤ
Signed-off-by Ȥʤɲä Signed-off-by δ֤ˡ
äȤ򼨤1Ԥɲä뤳Ȥ侩Ƥޤ
(1Ԥν)ޤϤޤ󤬡̤Żҥ᡼륢ɥ쥹̾
ȽƤ򵭺ܤܤˤĤ䤹ǽʳǤѹǤʤ
뤳ȤΤˤΤ˽ʬˡΤ褦Ǥ㤨С

	Signed-off-by: Random J Developer <random@developer.example.org>
	[lucky@maintainer.example.org: struct foo moved from foo.c to foo.h]
	Signed-off-by: Lucky K Maintainer <lucky@maintainer.example.org>

ʤǤΥ֥ƤꡢԤΥ쥸åȡѹס
ΥޡƱ˶𤫤ƼԤݸԤ硢δä
ͭѤȤʤޤʤ𤬤äƤ󥸥˽ФƤԤ
ǥƥƥ(From إå)ѹǤʤȤդƤ

ХåݡȤͤΤ̤ջࡣפưפ˹Ԥˡߥå
åΥȥå(֥ȹԤΤ)˥ѥåε򼨤򵭽Ҥ
ȤϰŪͭѤʴǤ㤨С 2.6-stable ĥ꡼ǤΰǤ    

    Date:   Tue May 13 19:10:30 2008 +0000

        SCSI: libiscsi regression in 2.6.25: fix nop timer handling

        commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream

ơ 2.4 ĥ꡼ǤΰǤ

    Date:   Tue May 13 22:12:27 2008 +0200

        wireless, airo: waitbusy() won't delay

        [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]

ɤʷǤ졢ξϤʤΥĥ꡼פͤ䤢ʤΥĥ꡼ΥХ
褷褦ȤƤͤˤȤäƲͤΤٱȤʤޤ


13)  Acked-by:  Cc: ȤΤ

 Signed-off-by: ץϤν̾Ԥѥåγȯ˴ؤäƤȤѥå
ťѥˤȤ򼨤Ƥޤ

ͤľܥѥåν˴ؤäƤʤɡοͤΥѥåФ
뾵ǧϿȤޤξ硢οͤ򼨤Τ Acked-by: 
ޤAcked-by: ϥѥåΥ󥸥ˤɲäޤ

ѥåαƶ륳ɤΥƥʤѥå˴ؤäƤʤäꡢѥå
ťѥˤʤäˤ⡢ƥʤ Acked-by: 򤷤ФѤޤ

Acked-by:  Signed-off-by: Τ褦˸ʥǤϤޤ󡣤ϥƥʤ
ʤȤѥåӥ塼Ʊդ򼨤ƤȤϿǤΤ褦
ȤѥåޡͤƥʤΡ֤ɤȻפפȤȯ
Acked-by: ֤뤳Ȥޤ

Acked-by: ɬѥåΤξǧ򼨤Ƥ櫓ǤϤޤ㤨С
ѥåʣΥ֥ƥرƶͿƤꡢ1ĤΥ֥ƥ
Υƥʤ Acked-by: äƤȤޤξ硢Acked-by: ̾
ΥƥʤΥɤ˱ƶͿʬФ뾵ǧ򼨤Ƥޤ
ϡʬȽǤƤ( Acked-by: )路ϡ
᡼󥰥ꥹȥ֤縵ε򻲾Ȥ٤Ǥ

ѥå˥Ȥ뵡äƤλ˥ȤʤäͤС
οͤؤCc:ץǤդɲäƤ⤫ޤޤ󡣤ϻꤵ줿ͤ
ΤʥʤͿǤͣΥǤ
Υϥѥå˴ؿȻפãΥѥåε˴ޤޤƤ
ʸޤ


14) Reported-by  Tested-by:  Reviewed-by: 

¾ïˤä𤵤줿ѥåǤСԤȤͿ
쥸åȤ뤿ˡReported-by: ɲä뤳ȤƤƤ
ޤ˥ХԤ򥯥쥸åȤƤȤǡޤФοͤƤ
ߥ˥ƥϤȤʤäƤǤ礦
Ԥε̵Υɲäʤ褦դƤäˡ
꤬ξ𤵤ƤʤäΤǤС

Tested-by: ϥǻꤵ줿ͤˤä(Ķ)ѥåΥƥȤ
Ƥ뤳Ȥ򼨤ޤΥϥƥʤ˥ƥȤ»ܺѤߤǤ뤳Ȥ
Τ餻δϢѥåΥƥȶϼԤ򸫤Ĥˡ󶡤ƥȼ»ܼԤ
Ф륯쥸åȤݾڤޤ

Reviewed-by: ϡȤϰۤʤꡢΥӥ塼β˥ӥ塼졢
ǽȤߤʤ줿ѥåǤ뤳Ȥ򼨤ޤ

ӥ塼ˤ

 Reviewed-by: 󼨤뤳ȤˤäơʲΤȤ롣

(a) ϥᥤ饤󥫡ͥؤ˸ڤӡ¨()פ
    ڤŪ¦̤ѥåӥ塼ѤߤǤ롣

:
¨פθʸ "readiness"
ѥåʬʼäƤꡢᥤ饤󥫡ͥؤ¨¤˹ԤȤ
Ǥ֤Ǥ뤫ɤ "readiness" ȤñɽƤ롣

(b) ѥå˴ؤ뤢ꡢǰ뤤ϡƼԤãѤߤǤ롣
    ϤΥȤФƼԤ­Ƥ롣

(c) Ƥȼɤ륳ɤǡǡ(1)줬ͥ
    ȤäƲͤΤѹǤ뤳ȡơ(2)˺ݤƵˤʤ褦
    ϤʤΤȳοƤ롣

(d) ϥѥåӥ塼ŬڤǤȳοƤǡˤ
    Ū䵡ǽ¸뤳Ȥ˴ؤơʤݾڤ⤷ʤ
    (äˤɤʤ¤)

Reviewd-by ϤΥѥåͥФŬڤʽǤäơʵŪ
ĤƤʤȤոǤ̣Τӥ塼ïǤ(ӥ塼
Ȥ򽪤)ѥåФ Reviewed-by 󼨤ǤޤΥ
ӥ塼δͿ򥯥쥸åȤƯӥ塼οĽٹ礤ƥʤ
Τ餻ƯޤΥѥåΰ˾ܤơäȤ
ӥ塼»ܤӥ塼ˤä󶡤Reviewed-by: ʤ
ѥå򥫡ͥ˥ޡǽǤ礦


15) ɸŪʥѥåΥեޥå

ɸŪʥѥåΥ֥ȤϰʲΤȤǤ

    Subject: [PATCH 001/123] subsystem: summary phrase

ɸŪʥѥåΡŻҥ᡼ΥܥǥϰʲιܤޤǤޤ

  - ѥåκԤ from ׹

  - 

  - ΡϤΥѥå뤿̵¤Υ󥸥
    (ѹ)˥ԡޤ

    Ҥ Signed-off-by: ׹ԡΤƱ
    ˥ԡޤ

  - ޡԤñˡ --- פǤ

  - ;פʥȤϡ󥸥ˤŬڤǤ

  - ºݤΥѥå(ʬ)

֥ȹԤΥեޥåȤϡե٥åȽŻҥ᡼ȤƤ
Ȥ䤹ΤˤʤäƤޤ(ۤȤɤŻҥ᡼륯饤
ϥȤ򥵥ݡȤƤޤ)ѥåΥ֥ȤϢ֤0ͤǤ
뤿ᡢǤΥȤȥե٥åȤǤΥȤƱ̤ˤʤޤ

Żҥ᡼Υ֥Υ֥ƥɽϡѥåŬѤ
ʬޤϥ֥ƥ̤Ǥ褦ˤ٤Ǥ

Żҥ᡼Υ֥ȤΡsummary phraseפϤΥѥåγפ
ɽʤФʤޤ󡣡summary phraseפե̾ˤƤϤ
ޤ󡣥ѥå꡼Ǥ줾ΥѥåƱsummary phraseפ
ȤäƤϤޤ(֥ѥå꡼פȤϽդ줿ϢΤʣ
ѥåǤ)

ʤŻҥ᡼Ρsummary phraseפΥѥåˤȤäͣμ̻Ҥ
ʤ褦˿Ƥsummary phraseפ git Υ󥸥
äŤƤޤsummary phraseפϡȯԤǥѥå򻲾Ȥ
˵Ѥ뤫⤷ޤ
͡ϤΥѥå˴Ϣɤिˡsummary phraseפȤä google 
Ǥ礦Ϥޤ23Ȥǡ͡gitkפ
git log --onelineפΤ褦ʥġѤƲΥѥåܤ̤
ͣܤˤȤޤȤʤǤ礦

ͳΤᡢsummary phraseפϤʤѥåɬפǤ뤫ѥå
ѹ뤫2Ĥξ򤻤7075ʸɽƤʤФʤޤ
summary phraseפϴʷǤŪǤɽܻؤĤġޤ
ޤȤƤ복פȤʤ٤Ǥ

summary phraseפϡSubject: [PATCH tag] <summary phrase>פΤ褦ˡ
̤Ĥ줿ƬȤղäƤ⤫ޤޤ󡣤Υ
summary phraseפΰȤϹͤޤ󤬡ѥåɤΤ褦˼갷٤
ɽޤ
Ūˤϡv1, v2, v3פΤ褦ʥСɽ(ΥѥåФ
ȤȿǤ뤿ʣΥСΥѥåƤƤΤǤ)
RFCפΤ褦ʥȤ׵᤹륿󤲤ޤѥå꡼Ȥ4Ĥ
ѥåСġΥѥåˡ1/4, 2/4, 3/4, 4/4פΤ褦ֹդƤ
ޤޤ󡣤ϳȯԤѥåŬѤ֤μ¤İ뤿Ǥ
ơȯԤѥå꡼Τ٤ƤΥѥå餵ӥ塼
ŬѤΤݾڤ뤿Ǥ

֥Ȥ

    Subject: [patch 2/5] ext2: improve scalability of bitmap searching
    Subject: [PATCHv2 001/207] x86: fix eflags tracking

 from ׹ԤŻҥ᡼ΥܥǥΰֺǽιԤǤʤФʤޤ
ηϰʲΤȤǤ

        From: Original Author <author@example.com>

 from ׹Ԥϥ󥸥ǡΥѥåκԤȤƥ쥸åȤ
ƤͤꤹΤǤ from ׹ԤƤȡŻҥ᡼Υإ
Ρ From: פ󥸥ǥѥåκԤꤹ뤿˻Ȥ
Ǥ礦

Τ̵¤ΥΥ󥸥˥ߥåȤޤʤΤǡ
ΤϤΥѥå˻äξܺ٤˺Ƥ뤢٤ε̤äƤ
ξܺ٤פФȤǤΤǤʤФʤޤ󡣥ѥåн褹
㳲ξɾ(ͥå oops å)򵭺ܤ뤳Ȥ
нǽʥѥåƥߥåȥ򸡺͡ˤȤääͭѤǤ
ѥåѥ褹ΤǤСΥѥåõƤͤĤ
ȤǤǽʬǤꡢѥƤΥ顼ޤɬפ
ޤ󡣡summary phraseפƱͤˡʷǤŪǤ뤳ȤפǤ

 --- ץޡԤϥѥåġФơ󥸥åνü
ʬǧȤפܤ̤ޤ

 --- ץޡԤθɲåȤɤˡ1Ĥ diffstat ޥ
ޤdiffstat ޥɤȤϲΥե뤬ѹ졢1ե겿
ɲä첿Ծä줿򼨤ΤǤdiffstat ޥɤä礭ʥѥå
ΩޤλǤϥƥʤˤȤäƤΤߴطΤ륳
̵¤¸󥸥ˤȤäŬڤǤϤޤ󡣤Τᡢ
褦ʥȤޡԤθ˽񤫤٤Ǥ
Τ褦ʥȤɤȤơv1  v2 ΥС֤ǲѹ줿
ɽ֥ѥåѹפ󤲤ޤ

 --- ץޡԤθ diffstat ޥɤη̤ޤΤǤСե
̾ϥͥ륽ĥ꡼Υȥåץǥ쥯ȥ꤫ɽ󵭤뤿ᡢ
ΥڡȤ᤮ʤ褦ˡdiffstat ޥɤ˥ץ -p 1 -w 70 
ꤷƤ(ǥȤޤƤ礦80˹礦Ǥ礦)

ŬڤʥѥåΥեޥåȤξܺ٤ˤĤƤϥ3λʸ򻲾Ȥ



16) git pull׵(Linus Żҥ᡼뤫)

ְä֥ĥΤɤˡgit ݥȥΥɥ쥹
֥̾ƱԤ1ԤǵܤƤ뤳Ȥǡ3Ϣ³å
Ǥޤ

ϲ̤Ǥ

	"Please pull from

		git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus

	 to get these changes:"

η̡ɥ쥹ʬȤǥԥ󥰤ƴְ㤨뤳ȤϤʤʤޤ(ºݤˡ
٤ְä֥ĥäƤƤޤλ diffstat η̤
ڤƴְäƤ뤳Ȥ˵ŤȤޤɤ鲿ĥ٤
õס֥̾ɤŤͤƥåꤹɬפ
ʤʤФŬˤʤǤ礦)


diffstat η̤뤿ˡ git diff -M --stat --summary פȤä
-M ץϥե̾ѹΤǤ--summary ץ
ե롢줿ե롢̾ѹ줿եγפޤ

-M ץ(ե̾ѹ)ꤹȡdiffstat η̤Ϥʤ
ۤʤäƤޤgit 絬Ϥѹ(ɲäȺΥڥ)ե̾ѹ
ȽǤ뤿Ǥ

------------------------------------
2 - ҥȤTIPSȾ
------------------------------------

Υ Linux ͥѹŬѤ뤳Ȥ˴طΤŪ
֤«פ¿ܤƤޤʪˤ㳰ȤΤޤ
㳰ŬѤˤϡͳԲķǤʤ϶餯
 Linus Υԥ塼101ȸƤ֤Ǥ礦



1) Documentation/CodingStyle򻲾

ޤǤʤʤΥɤΥǥ󥰥뤫餢ޤ
æƤȡӥ塼䥳Ȥʤ˼äƤ館ʤ⤷
ޤ

ɮ٤㳰ϡɤ򤢤ե뤫̤Υե˰ư
ȤǤξ硢ɤưѥåǤϡư륳
˴ؤưưʳѹڲä٤ǤϤޤ󡣤ˤꡢ
ɤΰưȤʤԤäɤνΤ˶̤Ǥ褦ˤ
ޤϼºݤ˲ѹ줿ӥ塼ݤ礭ʽ
ʤȤȤˡġ˥ɤפ뤳Ȥưפˤʤޤ

Ƥ˥ѥåΥå( scripts/checkpatch.pl )
ʤΥѥååƤΥåϺǽ
ȤƤǤϤʤɸȤƤߤ٤Ǥ⤷ʤΥɤȿ
ϤƤ뤬ɤΤǤС餯Τޤޤˤ
Τ٥ȤǤ

åˤ3ʳΥݡ:
 - 顼: ְäƤǽ⤤
 - ٹդƥӥ塼ɬפ
 - åθɬפ

ʤϥѥå˻ĤäƤƤΰȿˤĤơ줬ʤɬפʤΤ
ͳ򼨤褦ˤƤɬפޤ



2) #ifdefϸ줷

ifdef 𤷤ɤϡɤΤƥʥ󥹤ΤݤǤɤ
 ifdef ȤʤǤˡإåե ifdef ơ
դǡɤǻȤؿ static inline ״ؿޥ
Ƥϥѥ餬⤷ʤսŬƼäƤ
礦

ޤɤδñ

	dev = alloc_etherdev (sizeof(struct funky_private));
	if (!dev)
		return -ENODEV;
	#ifdef CONFIG_NET_FUNKINESS
	init_funky_net(dev);
	#endif

꡼󥢥åפɤ

(in header)
	#ifndef CONFIG_NET_FUNKINESS
	static inline void init_funky_net (struct net_device *d) {}
	#endif

(in the code itself)
	dev = alloc_etherdev (sizeof(struct funky_private));
	if (!dev)
		return -ENODEV;
	init_funky_net(dev);



3) ޥ static inline פ侩

 static inline ״ؿϥޥ⤺äȿ侩Ƥޤϡ
ꡢĹˤ¤̵եޥåȤ¤⤢ޤ
gcc ˤƤϡޥƱ餤ڤǤ

ޥϡ static inline פ餫ŬڤǤʬ(®ѥ
ĤΥ) static inline ״ؿȤȤǤʤ褦
(ޥΰʸϢΤ褦)ˤȤ٤Ǥ

 static inline פϡ static __inline__ פ extern inline פ
 extern __inline__ פŬڤǤ



4) ߷פ˶Ťꤹ

줬ͭѤˤʤ뤫ɤʬʤ褦Ƥʾ򸫱ۤ߷
򤷤ʤǤ֤Ǥ¤ñˡơʾñˤʤ
ʤ褦߷פ򤷤Ƥ



----------------------
3 ʸ
----------------------

Andrew Morton, "The perfect patch" (tpp).
  <http://userweb.kernel.org/~akpm/stuff/tpp.txt>

Jeff Garzik, "Linux kernel patch submission format".
  <http://linux.yyz.us/patch-format.html>

Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
  <http://www.kroah.com/log/2005/03/31/>
  <http://www.kroah.com/log/2005/07/08/>
  <http://www.kroah.com/log/2005/10/19/>
  <http://www.kroah.com/log/2006/01/11/>

NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
  <http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>

Kernel Documentation/CodingStyle:
  <http://users.sosdg.org/~qiyong/lxr/source/Documentation/CodingStyle>

Linus Torvalds's mail on the canonical patch format:
  <http://lkml.org/lkml/2005/4/7/183>

Andi Kleen, "On submitting kernel patches"
  Some strategies to get difficult or controversial changes in.
  http://halobates.de/on-submitting-patches.pdf

--
