<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;feed=atom&amp;action=history</id>
		<title>Patch Submission HOWTO - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;action=history"/>
		<updated>2013-05-24T23:41:20Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.22alpha</generator>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=20963&amp;oldid=prev</id>
		<title>Peter Huewe: added kernel scripts, link to git</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=20963&amp;oldid=prev"/>
				<updated>2010-05-14T03:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;added kernel scripts, link to git&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 03:59, 14 May 2010&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 146:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Jeff Garzik's patch instructions ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Jeff Garzik's patch instructions ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://linux.yyz.us/patch-format.html&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;http://linux.yyz.us/patch-format.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Useful Linux Kernel Scripts ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* scripts/checkpatch.pl -strict&amp;#160; -- checks your patch for obvious style errors&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* scripts/get_maintainer.pl -- get the email adresses of the maintainers and the people who might be interested in your patch&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Git ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Creating and sending emails is very easy and far less error prone with [[git]] - see [[git#Additional_Resources]] for more information.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter Huewe</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=15082&amp;oldid=prev</id>
		<title>Tim Bird at 19:08, 2 December 2009</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=15082&amp;oldid=prev"/>
				<updated>2009-12-02T19:08:31Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 19:08, 2 December 2009&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 301:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 301:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Patch Submission HOWTO]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HOWTOs]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HOWTOs]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tim Bird</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=7923&amp;oldid=prev</id>
		<title>FransMeulenbroeks at 16:29, 15 November 2008</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=7923&amp;oldid=prev"/>
				<updated>2008-11-15T16:29:32Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 16:29, 15 November 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 302:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 302:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Patch Submission HOWTO]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Patch Submission HOWTO]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;HOWTO&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;HOWTOs&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>FransMeulenbroeks</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1746&amp;oldid=prev</id>
		<title>Wmat: /* Send it to the appropriate mailing list */</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1746&amp;oldid=prev"/>
				<updated>2006-12-13T19:16:28Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Send it to the appropriate mailing list&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 19:16, 13 December 2006&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 91:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 91:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Update: the mail list size limit was removed from celinux-dev.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Update: the mail list size limit was removed from celinux-dev.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This wiki provides an [[Special:Upload]] where you may do this.&amp;#160; You may use this page, but please don't abuse it.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This wiki provides an [[Special:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Upload|File &lt;/ins&gt;Upload]] where you may do this.&amp;#160; You may use this page, but please don't abuse it.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Include diffstat information with the patch ====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Include diffstat information with the patch ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1744&amp;oldid=prev</id>
		<title>Wmat: /* Miscellaneous tidbits */</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1744&amp;oldid=prev"/>
				<updated>2006-12-13T19:12:30Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Miscellaneous tidbits&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 19:12, 13 December 2006&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 127:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 127:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! style=&amp;quot;background:#ff8080;&amp;quot;|'''IT IS OUR STRONG DESIRE TO HAVE OUR CODE ACCEPTED BY &amp;quot;MAINSTREAM&amp;quot; KERNEL DEVELOPERS AT KERNEL.ORG, AT SOME POINT IN THE FUTURE&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;!!!&lt;/del&gt;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! style=&amp;quot;background:#ff8080;&amp;quot;|'''IT IS OUR STRONG DESIRE TO HAVE OUR CODE ACCEPTED BY &amp;quot;MAINSTREAM&amp;quot; KERNEL DEVELOPERS AT KERNEL.ORG, AT SOME POINT IN THE FUTURE'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key elinux:diff:version:1.11a:oldid:1743:newid:1744 --&gt;
&lt;/table&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	<entry>
		<id>http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1743&amp;oldid=prev</id>
		<title>Wmat: Legacy Content Conversion</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/index.php?title=Patch_Submission_HOWTO&amp;diff=1743&amp;oldid=prev"/>
				<updated>2006-12-13T19:11:57Z</updated>
		
		<summary type="html">&lt;p&gt;Legacy Content Conversion&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This document describes current practices for submitting a patch to the eLinux.org mailing list.&lt;br /&gt;
&lt;br /&gt;
== Quick Overview ==&lt;br /&gt;
&lt;br /&gt;
Patches should follow standard open source practices.  Here is a quick overview of the steps involved:&lt;br /&gt;
&lt;br /&gt;
*make sure to diff between your modified tree and a saved-off original tree&lt;br /&gt;
*make sure to avoid including any intermediate build results in your patch (usually done by using a &amp;quot;dontdiff&amp;quot; file)&lt;br /&gt;
*use the following diff flags:&lt;br /&gt;
**unified format (i.e. &amp;lt;code&amp;gt;&amp;quot;-u&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
**recursive (if appropriate)(i.e &amp;lt;code&amp;gt;&amp;quot;-r&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
**include new files (if appropriate)(i.e. &amp;lt;code&amp;gt;&amp;quot;-N&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
**include procedure name for patch hunks (i.e. &amp;lt;code&amp;gt;&amp;quot;-p&amp;quot;&amp;lt;/code&amp;gt;)&lt;br /&gt;
**make sure the original tree dir is listed first (thus, the standard diff line to use is something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;diff -pruN -X dontdiff linux-2.6.8.1.orig linux-withmymods&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*make sure the patch applies with &amp;lt;code&amp;gt;-p1&amp;lt;/code&amp;gt;&lt;br /&gt;
*use the kernel patch e-mail message preferences&lt;br /&gt;
**subject should start with [PATCH ...]&lt;br /&gt;
**subject should contain a short description string&lt;br /&gt;
**body of message should have long description&lt;br /&gt;
**body of message should have &amp;lt;code&amp;gt;diffstat&amp;lt;/code&amp;gt; information&lt;br /&gt;
**body of message should have &amp;quot;Signed-off-by&amp;quot; line&lt;br /&gt;
**body of message should have actual patch in plaintext format:&lt;br /&gt;
***uncompressed, unencoded&lt;br /&gt;
***inline (not as an attachment)&lt;br /&gt;
***non-wrapped lines, no whitespace conversions&lt;br /&gt;
***no trailing whitespace&lt;br /&gt;
*send the patch via e-mail to the &amp;lt;code&amp;gt;celinux-dev&amp;lt;/code&amp;gt; mailing list&lt;br /&gt;
*[[Image:Alert.gif]] our strong preference is that all forum-bound patches go to the &amp;lt;code&amp;gt;celinux-dev&amp;lt;/code&amp;gt; mailing list, rather than only to a technical working group mailing list&lt;br /&gt;
*if sending the patch to an external open source project list, please copy &amp;lt;code&amp;gt;celinux-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
*upload patch to the appropriate technology wiki page or the PatchArchive page&lt;br /&gt;
**attach the patch to the page&lt;br /&gt;
**modify the page to refer to the attached patch&lt;br /&gt;
&lt;br /&gt;
== Some Details ==&lt;br /&gt;
=== Pre-requisites ===&lt;br /&gt;
==== Use an Open Source license ====&lt;br /&gt;
All code submitted to the forum must be licensed under an appropriate open source license (See the membership agreement for exact details.)  For code submitted to the forum related to the Linux kernel, the submission MUST be licensed under the GNU General Public License.&lt;br /&gt;
&lt;br /&gt;
==== Make sure you have permission and authority to make the contribution ====&lt;br /&gt;
Code submitted to the forum must be free of intellectual property limitations (which would violate the open source licensing policy anyway).  Please make sure that any code you submit is either:&lt;br /&gt;
#written exclusively by you or your company&lt;br /&gt;
#was provided to you under an open source license&lt;br /&gt;
&lt;br /&gt;
Also, make sure that you are allowed by your company to submit the code to the forum.  For things you obtained from open source, which you modified and contributed as part of forum activity, this should not be a problem. But you may want to double-check your company policy.&lt;br /&gt;
&lt;br /&gt;
==== Check the intellectual property status of your code ====&lt;br /&gt;
If you are aware of any intellectual property issues (including patent infringement) related to your submission, you MUST notify the forum about the issue within 10 days of your submission&lt;br /&gt;
&lt;br /&gt;
=== Prepare patch (diff) against original source ===&lt;br /&gt;
Before starting your modification, you should save off a pristine copy of the source code so you can make patches against it.  It is common to rename this item with an extension of &amp;lt;code&amp;gt;.orig&amp;lt;/code&amp;gt;.  This is helpful to identify the original versus the new files in the patch file (in case you get the diff command ordering mixed up).&lt;br /&gt;
&lt;br /&gt;
=== Use the latest Linux kernel version ===&lt;br /&gt;
Please make your patch from the latest Linux kernel version - preferrably from that latest&lt;br /&gt;
stable kernel from Linus.&lt;br /&gt;
&lt;br /&gt;
=== Avoid including intermediate build results ===&lt;br /&gt;
When you build the kernel, all kinds of extra files are created (including but not limited to dependency files, object files, utility binaries, etc.) There are three ways to avoid including them in your patch:&lt;br /&gt;
*use &amp;quot;-X dontdiff&amp;quot; to eliminate certain files from your diff.  &amp;lt;code&amp;gt;dontdiff&amp;lt;/code&amp;gt; is a file containing a list of filename and patterns that should be omitted from a kernel diff.  You can obtain the latest one using the command: [http://www.moses.uklinux.net/patches/dontdiff dontdiff]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
*always do your builds so that intermediate files are in a separate directory To do this, use &amp;quot;make O==dir&amp;quot; to specify an output directory.  Use &amp;quot;make help&amp;quot; to get more information on kernel build options.&lt;br /&gt;
 &lt;br /&gt;
OR&lt;br /&gt;
&lt;br /&gt;
*do &amp;quot;make distclean&amp;quot; on your modified tree before creating your patch.  This will clean up all intermediate files in the kernel source tree. However, be careful, as this will remove your .config as well.&lt;br /&gt;
 &lt;br /&gt;
=== Use unified diff format ===&lt;br /&gt;
Use the unified diff format.  Normally, when diff'ing anything but a single file, the arguments &amp;quot;-r&amp;quot;, &amp;quot;-u&amp;quot;, and &amp;quot;-N&amp;quot; should be used.  This tells diff to operate recursively, in unified format, and to include new files as part of the output.&lt;br /&gt;
&lt;br /&gt;
Also, some kernel developers prefer if you use the -p option so that you diff tries to identify the C procedure for each patch hunk.&lt;br /&gt;
&lt;br /&gt;
=== Send the patch via e-mail ===&lt;br /&gt;
Code submissions to the forum should be in patch format, attached to an e-mail which is sent to a forum mailing list (rather than to an individual or list of e-mail recipients).  This ensures that the patch will be archived by forum mailing list software, which provides an official record of the submission.&lt;br /&gt;
&lt;br /&gt;
The e-mail should have the exact phrase &amp;quot;[PATCH]&amp;quot; (without the quotes) at the beginning of the subject line.  The patch message should describe the patch.  The patch itself should be attached or inlined in the message. The patch should be uncompressed (except for extremely large patches) and use plain text encoding.&lt;br /&gt;
&lt;br /&gt;
==== Send it to the appropriate mailing list ====&lt;br /&gt;
There are two main audiences for your patch: Patches for Working Group activity and patches submitted generally to the whole forum.&lt;br /&gt;
&lt;br /&gt;
If you are a member, it may be most convenient to send the first kind of patch directly to the Working Group mailing list.  However, for patches from non-members, or for patches intended for the entire forum, please send them to the celinux-dev@tree.celinuxforum.org mailing list.&lt;br /&gt;
&lt;br /&gt;
See http://tree.celinuxforum.org/ for a link to the mailing list page, to subscribe to this list or view the current archives.&lt;br /&gt;
&lt;br /&gt;
*What do do about mail list size limits?&lt;br /&gt;
 &lt;br /&gt;
It is possible you will run into trouble with the size of your patch.  If your patch is greater than 40K, then the celinux-dev mailing list will hold it temporarily, pending administrator approval.  If you do not wish to wait for this approval, instead please post the patch to a publicly accessible location and refer to the URL for that location in your message.&lt;br /&gt;
&lt;br /&gt;
*Update: the mail list size limit was removed from celinux-dev.&lt;br /&gt;
&lt;br /&gt;
This wiki provides an [[Special:Upload]] where you may do this.  You may use this page, but please don't abuse it.&lt;br /&gt;
&lt;br /&gt;
==== Include diffstat information with the patch ====&lt;br /&gt;
It is very helpful in evaluating a patch to see the results of running the &amp;lt;code&amp;gt;diffstat&amp;lt;/code&amp;gt; command.  These results should be included in your e-mail.&lt;br /&gt;
&lt;br /&gt;
Many current distributions of Linux include the diffstat utility.  If it was not installed by default, check your CDs and install it if necessary.  If your distribution does not include it, you can obtain the source for diffstat at [http://dickey.his.com/diffstat/diffstat.html diffstat].&lt;br /&gt;
&lt;br /&gt;
==== Include patch instructions ====&lt;br /&gt;
You should include instructions in your e-mail message about how and where to apply your patch.&lt;br /&gt;
Specifically, please mention the tree directory where the patch should be applied, and the appropriate patch level (if any).&lt;br /&gt;
&lt;br /&gt;
E.g. &amp;lt;code&amp;gt;Apply this patch at the root of the tree, with &amp;quot;patch -p1 &amp;lt;foo.patch&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Upload patch to Patch Archive ===&lt;br /&gt;
To upload your patch to the patch archive, follow these steps:&lt;br /&gt;
*go to the PatchArchive page&lt;br /&gt;
*click on Edit Text at the bottom of the page&lt;br /&gt;
*find the wiki source for the table which matches the kernel version for your patch (e.g. 2.6.10)&lt;br /&gt;
*add a new line for your patch to the table.  See the wiki online help for the format codes for tables.&lt;br /&gt;
(Usually, you can just copy an existing table line.)&lt;br /&gt;
**add the name, base kernel version and status, on a single wiki line&lt;br /&gt;
**[[Image:Alert.gif]] it is helpful, in editing large wiki tables, to make the text size very small so you see the source for the table lines without wrapping in the HTML edit form.&lt;br /&gt;
*save your changes to the page by clicking on &amp;quot;Save Changes&amp;quot;&lt;br /&gt;
*attach the patch file to the page by clicking on Attach File, at the bottom of the page&lt;br /&gt;
**when attaching the patch, do NOT use embedded spaces in the filename of the patch.  There is an option    to rename the file when uploading it.  If your patch filename has spaces, please rename it.&lt;br /&gt;
**select the checkbox: &amp;quot;Add link to page&amp;quot; &lt;br /&gt;
**click on &amp;quot;Upload&amp;quot;&lt;br /&gt;
*click on &amp;quot;Show Text&amp;quot; to see the page text again&lt;br /&gt;
*edit the page again, and move the &amp;quot;attachment:&amp;lt;filename&amp;gt;&amp;quot; line from the end of the wiki page into the entry for your patch that you created earlier&lt;br /&gt;
*save the page again.&lt;br /&gt;
*if there is not already a wiki discussion page for this patch (or feature), please create one, and add a reference to it  to your table entry line.  When creating the page, use the TechnologyProjectTemplate.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous tidbits ==&lt;br /&gt;
Here is an important statement of CELF policy:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! style=&amp;quot;background:#ff8080;&amp;quot;|'''IT IS OUR STRONG DESIRE TO HAVE OUR CODE ACCEPTED BY &amp;quot;MAINSTREAM&amp;quot; KERNEL DEVELOPERS AT KERNEL.ORG, AT SOME POINT IN THE FUTURE!!!'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In order to accomplish this, we need to conform to accepted coding standards and submission&lt;br /&gt;
practices.&lt;br /&gt;
&lt;br /&gt;
=== Kernel submission guidelines ===&lt;br /&gt;
The kernel source tree contains some guidelines (many of which are listed here) for patch submissions to kernel.org.  See the files: [http://lxr.linux.no/source/Documentation/SubmittingDrivers Documentation/SubmittingDrivers]&lt;br /&gt;
and [http://lxr.linux.no/source/Documentation/SubmittingPatches Documentation/SubmittingPatches] for details.&lt;br /&gt;
&lt;br /&gt;
=== Coding style ===&lt;br /&gt;
For kernel code, please follow the kernel coding guidelines which are found in the file [http://lxr.linux.no/source/Documentation/CodingStyle Documentation/CodingStyle]&lt;br /&gt;
&lt;br /&gt;
=== Andrew's &amp;quot;perfect patch&amp;quot; instructions ===&lt;br /&gt;
Andrew Morton, an important kernel developer who manages thousands of patches for the kernel development process, wrote a set of guidelines for submittingpatches.  It is at:&lt;br /&gt;
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt&lt;br /&gt;
&lt;br /&gt;
=== Jeff Garzik's patch instructions ===&lt;br /&gt;
http://linux.yyz.us/patch-format.html&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following example shows a patch which was submitted to the Bootup Times Working Group.  This example is not optimal, since it was made relative to a 2.4.20 kernel, rather than the CELF tree, but it demonstrates most of the conventions described above.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Subject:      [PATCH] Patch for pre-calculated loops_per_jiffy&lt;br /&gt;
&lt;br /&gt;
Attached is a patch which allows for setting a pre-calculated&lt;br /&gt;
loops_per_jiffy.  This patch was derived from the CONFIG_INSTANT_ON&lt;br /&gt;
feature in the CELF source tree, which was developed by MontaVista.&lt;br /&gt;
This feature is already available in the CELF source tree, for the&lt;br /&gt;
OMAP board.&lt;br /&gt;
&lt;br /&gt;
loops_per_jiffy (LPJ) is the value used internally&lt;br /&gt;
by the kernel for the delay() function.  Normally, LPJ is&lt;br /&gt;
determined at boot time by the routine calibrate_delay(), in&lt;br /&gt;
init/main.c.  This routine takes approximately 250 ms to complete&lt;br /&gt;
on my test machine.  Note that the routine uses a sequence of programmed&lt;br /&gt;
waits to determine the correct LPJ value, with each wait taking about 1 HZ&lt;br /&gt;
(usually 10 ms) period.  With a pre-calculated value, this calibration&lt;br /&gt;
is eliminated.&lt;br /&gt;
&lt;br /&gt;
This patch is currently against a linux 2.4.20 kernel, for the x86&lt;br /&gt;
architecture.&lt;br /&gt;
&lt;br /&gt;
When the patch is applied, a new option appears in the General setup&lt;br /&gt;
menu of menuconfig: &amp;quot;Fast booting&amp;quot;.  When this option is enabled, you&lt;br /&gt;
are asked to set the value of another new option: 'Loops per jiffy'.&lt;br /&gt;
These set the config variables CONFIG_FASTBOOT and CONFIG_FASTBOOT_LPJ.&lt;br /&gt;
&lt;br /&gt;
diffstat for this patch is:&lt;br /&gt;
  Documentation/Configure.help |   23 +++++++++++++++++++++++&lt;br /&gt;
  arch/i386/config.in          |    6 ++++++&lt;br /&gt;
  init/main.c                  |   13 +++++++++++++&lt;br /&gt;
  3 files changed, 42 insertions(+)&lt;br /&gt;
&lt;br /&gt;
To apply the patch, in the root of a kernel tree use:&lt;br /&gt;
patch -p1 &amp;lt;fastboot_lpj.patch&lt;br /&gt;
&lt;br /&gt;
To use the patch, apply it and boot your machine with Fast booting&lt;br /&gt;
off.  You can determine the correct value for Loops per jiffy by examining&lt;br /&gt;
the printk output from the kernel boot.  Now configure the kernel with&lt;br /&gt;
Fast booting on, and with the correct LPJ value.&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can set the LPJ value to 5000 times the value of&lt;br /&gt;
BogoMips, if you know that for your target.&lt;br /&gt;
&lt;br /&gt;
With this patch applied (and configured) you should notice an&lt;br /&gt;
approximately 1/4 second speedup in booting.&lt;br /&gt;
&lt;br /&gt;
You may want to use the time_bootup patch I sent previously to measure&lt;br /&gt;
this improvement.&lt;br /&gt;
&lt;br /&gt;
The technology in this patch is architecture-independent.&lt;br /&gt;
&lt;br /&gt;
Please let me know any feedback you have on this patch or the approach used.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
&lt;br /&gt;
=====================&lt;br /&gt;
Tim Bird&lt;br /&gt;
Senior Staff Engineer&lt;br /&gt;
Linux Architecture and Standards&lt;br /&gt;
Platform Technology Center of America&lt;br /&gt;
Sony Electronics&lt;br /&gt;
=====================&lt;br /&gt;
&lt;br /&gt;
Signed-off-by: Tim Bird &amp;lt;tim.bird@am.sony.com&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
diff -u -ruN linux-2.4.20.orig/Documentation/Configure.help linux-2.4.20/Documentation/Configure.help&lt;br /&gt;
--- linux-2.4.20.orig/Documentation/Configure.help      Thu Nov 28 15:53:08 2002&lt;br /&gt;
+++ linux-2.4.20/Documentation/Configure.help   Tue Sep 30 15:32:35 2003&lt;br /&gt;
@@ -5274,6 +5274,29 @@&lt;br /&gt;
   replacement for kerneld.) Say Y here and read about configuring it&lt;br /&gt;
   in &amp;lt;file:Documentation/kmod.txt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
+Fast booting support&lt;br /&gt;
+CONFIG_FASTBOOT&lt;br /&gt;
+  Say Y here to enable faster booting of the Linux kernel.  If you say&lt;br /&gt;
+  Y here, you will be asked to provide hardcoded values for some&lt;br /&gt;
+  parameters that the kernel usually probes for or determines at boot&lt;br /&gt;
+  time.  This is primarily of interest in embedded devices where&lt;br /&gt;
+  quick boot time is a requirement.&lt;br /&gt;
+&lt;br /&gt;
+  If unsure, say N.&lt;br /&gt;
+&lt;br /&gt;
+Fast boot loops-per-jiffy&lt;br /&gt;
+CONFIG_FASTBOOT_LPJ&lt;br /&gt;
+  This is the number of loops passed to delay() to achieve a single&lt;br /&gt;
+  HZ of delay inside the kernel.  It is roughly BogoMips * 5000.&lt;br /&gt;
+  To determine the correct value for your kernel, first turn off&lt;br /&gt;
+  the fast booting option, compile and boot the kernel on your target&lt;br /&gt;
+  hardware, then see what value is printed during the kernel boot.&lt;br /&gt;
+  Use that value here.&lt;br /&gt;
+&lt;br /&gt;
+  If unsure, don't use the fast booting option.  An incorrect value&lt;br /&gt;
+  will cause delays in the kernel to be incorrect.  Although unlikely,&lt;br /&gt;
+  in the extreme case this might damage your hardware.&lt;br /&gt;
+&lt;br /&gt;
 ARP daemon support&lt;br /&gt;
 CONFIG_ARPD&lt;br /&gt;
   Normally, the kernel maintains an internal cache which maps IP&lt;br /&gt;
diff -u -ruN linux-2.4.20.orig/arch/i386/config.in linux-2.4.20/arch/i386/config.in&lt;br /&gt;
--- linux-2.4.20.orig/arch/i386/config.in       Thu Nov 28 15:53:09 2002&lt;br /&gt;
+++ linux-2.4.20/arch/i386/config.in    Tue Sep 30 15:33:04 2003&lt;br /&gt;
@@ -316,6 +316,12 @@&lt;br /&gt;
    bool '    Use real mode APM BIOS call to power off' CONFIG_APM_REAL_MODE_POWER_OFF&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
+bool &amp;quot;Fast booting&amp;quot; CONFIG_FASTBOOT&lt;br /&gt;
+if [ &amp;quot;$CONFIG_FASTBOOT&amp;quot; == &amp;quot;y&amp;quot; ]; then&lt;br /&gt;
+  define_int CONFIG_DEFAULT_LPJ 414720&lt;br /&gt;
+  int '  Loops per jiffy' CONFIG_FASTBOOT_LPJ $CONFIG_DEFAULT_LPJ&lt;br /&gt;
+fi&lt;br /&gt;
+&lt;br /&gt;
 endmenu&lt;br /&gt;
&lt;br /&gt;
 source drivers/mtd/Config.in&lt;br /&gt;
diff -u -ruN linux-2.4.20.orig/init/main.c linux-2.4.20/init/main.c&lt;br /&gt;
--- linux-2.4.20.orig/init/main.c       Fri Aug  2 17:39:46 2002&lt;br /&gt;
+++ linux-2.4.20/init/main.c    Tue Sep 30 15:32:04 2003&lt;br /&gt;
@@ -164,6 +164,12 @@&lt;br /&gt;
&lt;br /&gt;
        loops_per_jiffy == (1&amp;lt;&amp;lt;12);&lt;br /&gt;
&lt;br /&gt;
+#ifdef CONFIG_FASTBOOT_LPJ&lt;br /&gt;
+       loops_per_jiffy == CONFIG_FASTBOOT_LPJ;&lt;br /&gt;
+       printk(&amp;quot;Calibrating delay loop (skipped)... &amp;quot;);&lt;br /&gt;
+&lt;br /&gt;
+#else /* CONFIG_FASTBOOT */&lt;br /&gt;
+&lt;br /&gt;
        printk(&amp;quot;Calibrating delay loop... &amp;quot;);&lt;br /&gt;
        while (loops_per_jiffy &amp;lt;&amp;lt;== 1) {&lt;br /&gt;
                /* wait for &amp;quot;start of&amp;quot; clock tick */&lt;br /&gt;
@@ -192,10 +198,17 @@&lt;br /&gt;
                        loops_per_jiffy &amp;amp;== ~loopbit;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
+#endif /* CONFIG_FASTBOOT_LPJ */&lt;br /&gt;
+&lt;br /&gt;
 /* Round the value and print it */&lt;br /&gt;
        printk(&amp;quot;%lu.%02lu BogoMIPS\n&amp;quot;,&lt;br /&gt;
                loops_per_jiffy/(500000/HZ),&lt;br /&gt;
                (loops_per_jiffy/(5000/HZ)) % 100);&lt;br /&gt;
+&lt;br /&gt;
+#ifndef CONFIG_FASTBOOT_LPJ&lt;br /&gt;
+       printk(&amp;quot;Use 'Loops per jiffy'==%lu for fast boot.\n&amp;quot;,&lt;br /&gt;
+               loops_per_jiffy);&lt;br /&gt;
+#endif /* CONFIG_FASTBOOT_LPJ */&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 static int __init debug_kernel(char *str)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Patch Submission HOWTO]]&lt;br /&gt;
[[Category:HOWTO]]&lt;/div&gt;</summary>
		<author><name>Wmat</name></author>	</entry>

	</feed>