diff options
Diffstat (limited to 'Documentation/SubmittingPatches')
-rw-r--r-- | Documentation/SubmittingPatches | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/Documentation/SubmittingPatches b/Documentation/SubmittingPatches index 4d35562b1cf9..7f43b040311e 100644 --- a/Documentation/SubmittingPatches +++ b/Documentation/SubmittingPatches | |||
@@ -35,7 +35,7 @@ not in any lower subdirectory. | |||
35 | 35 | ||
36 | To create a patch for a single file, it is often sufficient to do: | 36 | To create a patch for a single file, it is often sufficient to do: |
37 | 37 | ||
38 | SRCTREE= linux-2.4 | 38 | SRCTREE= linux-2.6 |
39 | MYFILE= drivers/net/mydriver.c | 39 | MYFILE= drivers/net/mydriver.c |
40 | 40 | ||
41 | cd $SRCTREE | 41 | cd $SRCTREE |
@@ -48,17 +48,18 @@ To create a patch for multiple files, you should unpack a "vanilla", | |||
48 | or unmodified kernel source tree, and generate a diff against your | 48 | or unmodified kernel source tree, and generate a diff against your |
49 | own source tree. For example: | 49 | own source tree. For example: |
50 | 50 | ||
51 | MYSRC= /devel/linux-2.4 | 51 | MYSRC= /devel/linux-2.6 |
52 | 52 | ||
53 | tar xvfz linux-2.4.0-test11.tar.gz | 53 | tar xvfz linux-2.6.12.tar.gz |
54 | mv linux linux-vanilla | 54 | mv linux-2.6.12 linux-2.6.12-vanilla |
55 | wget http://www.moses.uklinux.net/patches/dontdiff | 55 | diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \ |
56 | diff -uprN -X dontdiff linux-vanilla $MYSRC > /tmp/patch | 56 | linux-2.6.12-vanilla $MYSRC > /tmp/patch |
57 | rm -f dontdiff | ||
58 | 57 | ||
59 | "dontdiff" is a list of files which are generated by the kernel during | 58 | "dontdiff" is a list of files which are generated by the kernel during |
60 | the build process, and should be ignored in any diff(1)-generated | 59 | the build process, and should be ignored in any diff(1)-generated |
61 | patch. dontdiff is maintained by Tigran Aivazian <tigran@veritas.com> | 60 | patch. The "dontdiff" file is included in the kernel tree in |
61 | 2.6.12 and later. For earlier kernel versions, you can get it | ||
62 | from <http://www.xenotime.net/linux/doc/dontdiff>. | ||
62 | 63 | ||
63 | Make sure your patch does not include any extra files which do not | 64 | Make sure your patch does not include any extra files which do not |
64 | belong in a patch submission. Make sure to review your patch -after- | 65 | belong in a patch submission. Make sure to review your patch -after- |
@@ -66,18 +67,20 @@ generated it with diff(1), to ensure accuracy. | |||
66 | 67 | ||
67 | If your changes produce a lot of deltas, you may want to look into | 68 | If your changes produce a lot of deltas, you may want to look into |
68 | splitting them into individual patches which modify things in | 69 | splitting them into individual patches which modify things in |
69 | logical stages, this will facilitate easier reviewing by other | 70 | logical stages. This will facilitate easier reviewing by other |
70 | kernel developers, very important if you want your patch accepted. | 71 | kernel developers, very important if you want your patch accepted. |
71 | There are a number of scripts which can aid in this; | 72 | There are a number of scripts which can aid in this: |
72 | 73 | ||
73 | Quilt: | 74 | Quilt: |
74 | http://savannah.nongnu.org/projects/quilt | 75 | http://savannah.nongnu.org/projects/quilt |
75 | 76 | ||
76 | Randy Dunlap's patch scripts: | 77 | Randy Dunlap's patch scripts: |
77 | http://developer.osdl.org/rddunlap/scripts/patching-scripts.tgz | 78 | http://www.xenotime.net/linux/scripts/patching-scripts-002.tar.gz |
78 | 79 | ||
79 | Andrew Morton's patch scripts: | 80 | Andrew Morton's patch scripts: |
80 | http://www.zip.com.au/~akpm/linux/patches/patch-scripts-0.16 | 81 | http://www.zip.com.au/~akpm/linux/patches/patch-scripts-0.20 |
82 | |||
83 | |||
81 | 84 | ||
82 | 2) Describe your changes. | 85 | 2) Describe your changes. |
83 | 86 | ||
@@ -132,21 +135,6 @@ which require discussion or do not have a clear advantage should | |||
132 | usually be sent first to linux-kernel. Only after the patch is | 135 | usually be sent first to linux-kernel. Only after the patch is |
133 | discussed should the patch then be submitted to Linus. | 136 | discussed should the patch then be submitted to Linus. |
134 | 137 | ||
135 | For small patches you may want to CC the Trivial Patch Monkey | ||
136 | trivial@rustcorp.com.au set up by Rusty Russell; which collects "trivial" | ||
137 | patches. Trivial patches must qualify for one of the following rules: | ||
138 | Spelling fixes in documentation | ||
139 | Spelling fixes which could break grep(1). | ||
140 | Warning fixes (cluttering with useless warnings is bad) | ||
141 | Compilation fixes (only if they are actually correct) | ||
142 | Runtime fixes (only if they actually fix things) | ||
143 | Removing use of deprecated functions/macros (eg. check_region). | ||
144 | Contact detail and documentation fixes | ||
145 | Non-portable code replaced by portable code (even in arch-specific, | ||
146 | since people copy, as long as it's trivial) | ||
147 | Any fix by the author/maintainer of the file. (ie. patch monkey | ||
148 | in re-transmission mode) | ||
149 | |||
150 | 138 | ||
151 | 139 | ||
152 | 5) Select your CC (e-mail carbon copy) list. | 140 | 5) Select your CC (e-mail carbon copy) list. |
@@ -161,6 +149,11 @@ USB, framebuffer devices, the VFS, the SCSI subsystem, etc. See the | |||
161 | MAINTAINERS file for a mailing list that relates specifically to | 149 | MAINTAINERS file for a mailing list that relates specifically to |
162 | your change. | 150 | your change. |
163 | 151 | ||
152 | If changes affect userland-kernel interfaces, please send | ||
153 | the MAN-PAGES maintainer (as listed in the MAINTAINERS file) | ||
154 | a man-pages patch, or at least a notification of the change, | ||
155 | so that some information makes its way into the manual pages. | ||
156 | |||
164 | Even if the maintainer did not respond in step #4, make sure to ALWAYS | 157 | Even if the maintainer did not respond in step #4, make sure to ALWAYS |
165 | copy the maintainer when you change their code. | 158 | copy the maintainer when you change their code. |
166 | 159 | ||
@@ -178,6 +171,8 @@ patches. Trivial patches must qualify for one of the following rules: | |||
178 | since people copy, as long as it's trivial) | 171 | since people copy, as long as it's trivial) |
179 | Any fix by the author/maintainer of the file. (ie. patch monkey | 172 | Any fix by the author/maintainer of the file. (ie. patch monkey |
180 | in re-transmission mode) | 173 | in re-transmission mode) |
174 | URL: <http://www.kernel.org/pub/linux/kernel/people/rusty/trivial/> | ||
175 | |||
181 | 176 | ||
182 | 177 | ||
183 | 178 | ||
@@ -299,13 +294,24 @@ can certify the below: | |||
299 | 294 | ||
300 | then you just add a line saying | 295 | then you just add a line saying |
301 | 296 | ||
302 | Signed-off-by: Random J Developer <random@developer.org> | 297 | Signed-off-by: Random J Developer <random@developer.example.org> |
303 | 298 | ||
304 | Some people also put extra tags at the end. They'll just be ignored for | 299 | Some people also put extra tags at the end. They'll just be ignored for |
305 | now, but you can do this to mark internal company procedures or just | 300 | now, but you can do this to mark internal company procedures or just |
306 | point out some special detail about the sign-off. | 301 | point out some special detail about the sign-off. |
307 | 302 | ||
308 | 303 | ||
304 | |||
305 | 12) More references for submitting patches | ||
306 | |||
307 | Andrew Morton, "The perfect patch" (tpp). | ||
308 | <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt> | ||
309 | |||
310 | Jeff Garzik, "Linux kernel patch submission format." | ||
311 | <http://linux.yyz.us/patch-format.html> | ||
312 | |||
313 | |||
314 | |||
309 | ----------------------------------- | 315 | ----------------------------------- |
310 | SECTION 2 - HINTS, TIPS, AND TRICKS | 316 | SECTION 2 - HINTS, TIPS, AND TRICKS |
311 | ----------------------------------- | 317 | ----------------------------------- |
@@ -374,7 +380,5 @@ and 'extern __inline__'. | |||
374 | 4) Don't over-design. | 380 | 4) Don't over-design. |
375 | 381 | ||
376 | Don't try to anticipate nebulous future cases which may or may not | 382 | Don't try to anticipate nebulous future cases which may or may not |
377 | be useful: "Make it as simple as you can, and no simpler" | 383 | be useful: "Make it as simple as you can, and no simpler." |
378 | |||
379 | |||
380 | 384 | ||