<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.linuxtv.org/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;feed=atom&amp;action=history</id>
		<title>Development: Hints for Refactoring Existing Drivers - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;action=history"/>
		<updated>2013-06-19T09:18:28Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25940&amp;oldid=prev</id>
		<title>Nmarci: /* Approach #1: The Democratic Trial -- let's discuss! */</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25940&amp;oldid=prev"/>
				<updated>2009-11-08T05:22:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Approach #1: The Democratic Trial -- let&amp;#39;s discuss!&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 05:22, 8 November 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 55:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #1: The Democratic Trial -- let's discuss! ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #1: The Democratic Trial -- let's discuss! ===&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Somebody starts the discussion and makes his prosaic proposal.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Somebody starts the discussion and makes his &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;or her &lt;/ins&gt;prosaic proposal.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* nothing happens for a while.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* nothing happens for a while.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:25753:newid:25940 --&gt;
&lt;/table&gt;</summary>
		<author><name>Nmarci</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25753&amp;oldid=prev</id>
		<title>Rockinrobstar: V4L &amp; DVB API -&gt; Linux Media API</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25753&amp;oldid=prev"/>
				<updated>2009-10-23T22:58:13Z</updated>
		
		<summary type="html">&lt;p&gt;V4L &amp;amp; DVB API -&amp;gt; Linux Media API&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:58, 23 October 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** more detailed bug fixes and/or logical corrections &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** more detailed bug fixes and/or logical corrections &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* introduction of new feature sets to the guiding [[Development: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Video4Linux APIs&lt;/del&gt;|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;V4L]] and [[Development: &lt;/del&gt;Linux &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DVB &lt;/del&gt;API &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;history and future|DVB&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;APIs&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* introduction of new feature sets to the guiding [[Development:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;_Linux_Media_Infrastructure_API&lt;/ins&gt;|Linux &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Media Infrastructure &lt;/ins&gt;API]]&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of portions of the V4L-DVB code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of portions of the V4L-DVB code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rockinrobstar</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25046&amp;oldid=prev</id>
		<title>CityK: minor edits</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25046&amp;oldid=prev"/>
				<updated>2009-09-21T03:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;minor edits&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:46, 21 September 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; In fact, with free and open source software, over the course of the project's development life, it is quite common&amp;nbsp; for other people to become involved simply because the original author(s) may not always be available or even willing to maintain the code forever.&amp;nbsp; This holds true for &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;v4l&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dvb &lt;/del&gt;drivers and associative utilities.&amp;nbsp; Yet, in our case, we'd like to stress that you don't need to be a core&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/del&gt;developer in order to become involved in our software's continued &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;development&lt;/del&gt;, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; All in all, contributions can be done on several different levels that vary in complexity; for example:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; In fact, with free and open source software, over the course of the project's development life, it is quite common&amp;nbsp; for other people to become involved simply because the original author(s) may not always be available or even willing to maintain the code forever.&amp;nbsp; This holds true for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V4L&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DVB &lt;/ins&gt;drivers and associative utilities.&amp;nbsp; Yet, in our case, we'd like to stress that you don't need to be a core developer in order to become involved in our software's continued &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;progression&lt;/ins&gt;, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; All in all, contributions can be done on several different levels that vary in complexity; for example:&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;or &lt;/del&gt;more detailed bug fixes and logical corrections &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** &lt;/ins&gt;simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** &lt;/ins&gt;more detailed bug fixes and&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/or &lt;/ins&gt;logical corrections &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* introduction of new feature sets to the guiding [[Development: Video4Linux APIs|V4L]] and [[Development: Linux DVB API history and future|DVB &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;APIs&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* introduction of new feature sets to the guiding [[Development: Video4Linux APIs|V4L]] and [[Development: Linux DVB API history and future|DVB]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;APIs&lt;/ins&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of portions of the V4L-DVB code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of portions of the V4L-DVB code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 41:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So please: '''Whatever you do, please keep it Simple.'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So please: '''Whatever you do, please keep it Simple.'''&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Please &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Never Ever Try &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Apply Big Changes All &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;One Shot &lt;/ins&gt;==&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Please &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;never ever try &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;apply big changes all &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;one shot &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you plan to rewrite bigger portions of the code please don't create a huge patch or thousands of patches.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you plan to rewrite bigger portions of the code please don't create a huge patch or thousands of patches.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 49:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The bottom line is that you should respect that other people are using V4L-DVB software in productive environments and may rely upon a working code base.&amp;nbsp; In addition, one may never be able to foresee the effect of major changes on all the exotic platforms the V4L-DVB stack is used upon. If you really think using new APIs is the way to go then please let's fork the source tree and move over to the new tree as soon it is well-tested and verified upon all architectures.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The bottom line is that you should respect that other people are using V4L-DVB software in productive environments and may rely upon a working code base.&amp;nbsp; In addition, one may never be able to foresee the effect of major changes on all the exotic platforms the V4L-DVB stack is used upon. If you really think using new APIs is the way to go then please let's fork the source tree and move over to the new tree as soon it is well-tested and verified upon all architectures.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Addendum: The &lt;/ins&gt;Psychological Prerequisites &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;for Refactoring &lt;/ins&gt;==&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Psychological Prerequisites ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Refactoring''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is a complex process and &lt;/ins&gt;does not &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;simply mean rewriting the existing &lt;/ins&gt;code&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Rather, it &lt;/ins&gt;also &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;involves trying &lt;/ins&gt;to convince other developers to accept &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;your &lt;/ins&gt;changes&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;and&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, it is this later point that is perhaps the much more difficult part of the process&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; We encourage you to rise up to that challenge and present two such approaches you might take in that regard:&lt;/ins&gt;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''Refactoring''' does not &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;only means to rewrite &lt;/del&gt;code &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;but &lt;/del&gt;also to convince &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;all &lt;/del&gt;other developers to accept &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;changes and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to join your efforts&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #1: The Democratic Trial -- let's discuss! ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #1: The Democratic Trial -- let's discuss! ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 92:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 90:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes a few mails refining the final details close the discussion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes a few mails refining the final details close the discussion.&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #2: Just do it ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #2: Just do it ===&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The process outlined above may sound very democratic and entertaining, but it eats up a lot of time and can seriously hamper good spirits/mood, and, thus, can be kind of counterproductive. If you don't want to spend your energy in those regards, or risk being sucked into flame wars, you may want to try this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The process outlined above may sound very democratic and entertaining, but it eats up a lot of time and can seriously hamper good spirits/mood, and, thus, can be kind of counterproductive. If you don't want to spend your energy in those regards, or risk being sucked into flame wars, you may want to try this:&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25045&amp;oldid=prev</id>
		<title>CityK: reworked a number of areas; the final sections in particular</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25045&amp;oldid=prev"/>
				<updated>2009-09-21T03:22:03Z</updated>
		
		<summary type="html">&lt;p&gt;reworked a number of areas; the final sections in particular&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:22, 21 September 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For example&lt;/del&gt;, over the course of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a software &lt;/del&gt;project's development life, the original author(s) may not always be available or even willing to maintain the code forever&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, so other people may become involved in the code's development&lt;/del&gt;.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;In &lt;/del&gt;our case, you don't need to be a core-developer in order to become involved in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;their further &lt;/del&gt;development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Such &lt;/del&gt;contributions can be done on several different levels:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In fact, with free and open source software&lt;/ins&gt;, over the course of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/ins&gt;project's development life, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;it is quite common&amp;nbsp; for other people to become involved simply because &lt;/ins&gt;the original author(s) may not always be available or even willing to maintain the code forever.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Yet, in &lt;/ins&gt;our case, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;we'd like to stress that &lt;/ins&gt;you don't need to be a core-developer in order to become involved in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;our software's continued &lt;/ins&gt;development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;All in all, &lt;/ins&gt;contributions can be done on several different levels &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;that vary in complexity; for example&lt;/ins&gt;:&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations) or more detailed bug fixes &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(such as &lt;/del&gt;logical corrections&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;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations) or more detailed bug fixes &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/ins&gt;logical corrections &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* introduction of new feature sets to the guiding [[Development: Video4Linux APIs|V4L]] and [[Development: Linux DVB API history and future|DVB APIs]]&lt;/ins&gt;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;of portions &lt;/ins&gt;of the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V4L-DVB &lt;/ins&gt;code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== What is ''Refactoring''? ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== What is ''Refactoring''? ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring is a natural process in respect to projects that usually grow over time.&amp;nbsp; To use an analogy&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;every now and then, what has grown through natural means into jungle will need to be cut back in order to make it a nice place to live again. Unfortunately, often due to clashes of vanities and feelings of possessiveness, the steps towards a refactoring can sometimes be accompanied by loud discussions that equate to little more than unruly &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;philisophical &lt;/del&gt;debates and holy wars.&amp;nbsp; But don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring is a natural process in respect to projects that usually grow over time.&amp;nbsp; To use an analogy&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;: &lt;/ins&gt;every now and then, what has grown through natural means into &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;jungle will need to be cut back in order to make it a nice place to live again. Unfortunately, often due to clashes of vanities and feelings of possessiveness, the steps towards a refactoring can sometimes be accompanied by loud discussions that equate to little more than unruly &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;philosophical &lt;/ins&gt;debates and holy wars.&amp;nbsp; But don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since developers may become, with time, a little myopic in respect towards their own code, it makes sense that the reviewer/refactorer and programmer are often not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense, sooner or later it will make it into the public source tree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since developers may become, with time, a little myopic in respect towards their own code, it makes sense that the reviewer/refactorer and programmer are often not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense, sooner or later it will make it into the public source tree.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;means &lt;/del&gt;new features. Refactoring means that you make the code maintainable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;mean &lt;/ins&gt;new features. Refactoring means that you make the code maintainable.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Keep it Simple ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Keep it Simple ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Please &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;do &lt;/del&gt;never ever apply big &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Changes &lt;/del&gt;in&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-place &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Please never ever &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;try to &lt;/ins&gt;apply big &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;changes all &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;one shot &lt;/ins&gt;==&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you plan to rewrite bigger portions of the code please don't create a huge patch or thousands of patches &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;but &lt;/del&gt;fork the relevant code modules so that people can easily test them concurrently with the old code and are free to use the old, usually well-tested code until your new version has matured.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you plan to rewrite bigger portions of the code please don't create a huge patch or thousands of patches&lt;ins class=&quot;diffchange diffchange-inline&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;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Please avoid postings like ''&amp;quot;[PATCH] I ported all drivers to this or that kernel API because this is the way the kernel maintainers like it to see!&amp;quot;''.&amp;nbsp; Instead, &lt;/ins&gt;fork the relevant code modules &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;into a separate development repo &lt;/ins&gt;so that people can easily test them concurrently with the old code and are free &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to continue &lt;/ins&gt;to use the old, usually well-tested&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;code until your new version has matured.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;There have been &lt;/del&gt;several situations &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;past where the linux-dvb CVS was &lt;/del&gt;barely usable for weeks or months because &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;we did not followed this principle. Please respect that other people are using &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;linux-dvb source in productive environments and rely on a working code base&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;That practice wasn't always adhered to during the history of V4L-DVB code development and, unfortunately, there were &lt;/ins&gt;several &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;case or &lt;/ins&gt;situations &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;during which some elements of &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code base were &lt;/ins&gt;barely usable for weeks or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;even &lt;/ins&gt;months because &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;of neglecting &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;principle laid out above&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Please avoid postings like ''&amp;quot;[PATCH] I ported all drivers to this and &lt;/del&gt;that &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kernel API because this is the way the kernel maintainers like it to see!&amp;quot;''. Sometimes &lt;/del&gt;people are &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;going their own way with reason&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;you are &lt;/del&gt;never able to foresee the effect of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;such &lt;/del&gt;major changes on all the exotic platforms the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;linux&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;dvb &lt;/del&gt;stack is used. If you really think using &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;new &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;API &lt;/del&gt;is the way to go then please let's fork the source tree and move over to the new tree as soon it is verified &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on &lt;/del&gt;all architectures &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and well-tested&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The bottom line is &lt;/ins&gt;that &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;you should respect that other &lt;/ins&gt;people are &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;using V4L-DVB software in productive environments and may rely upon a working code base.&amp;nbsp; In addition&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;one may &lt;/ins&gt;never &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;be &lt;/ins&gt;able to foresee the effect of major changes on all the exotic platforms the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;V4L&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DVB &lt;/ins&gt;stack is used &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;upon&lt;/ins&gt;. If you really think using new &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;APIs &lt;/ins&gt;is the way to go then please let's fork the source tree and move over to the new tree as soon it is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;well-tested and &lt;/ins&gt;verified &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;upon &lt;/ins&gt;all architectures.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 95:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #2: Just do it ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Approach #2: Just do it ===&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The process outlined above may sound very democratic and entertaining but it eats a lot of time and good mood, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/del&gt;thus kind of counterproductive. If you don't want to spend your energy in flame wars you may try this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The process outlined above may sound very democratic and entertaining&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;but it eats &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;up &lt;/ins&gt;a lot of time and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;can seriously hamper &lt;/ins&gt;good &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;spirits/&lt;/ins&gt;mood, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and, &lt;/ins&gt;thus&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, can be &lt;/ins&gt;kind of counterproductive. If you don't want to spend your energy in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;those regards, or risk being sucked into &lt;/ins&gt;flame wars&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;you may &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;want to &lt;/ins&gt;try this:&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Implement your approach for 2 or 3 sample drivers &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(choose &lt;/del&gt;a complex &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;one, e&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;g&lt;/del&gt;. a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;STB driver or &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;av711x&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ttpci driver and 2 simple ones, &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;hotplug&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;USB device and &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;modern PCI card&lt;/del&gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Implement your approach for 2 or 3 sample drivers &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-- perhaps showcasing your changes with &lt;/ins&gt;a complex &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;driver and as well with two more simpler cases&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* Then post your code changes on the [mailto:majordomo@vger&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;kernel&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;org?body=subscribe%20linux-media Linux-Media Mailing List] and propose to start &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;new development branch where this work can be further continued across &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;entire V4L&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DVB code base.&amp;nbsp; If you don't already have &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;development repo with the V4L&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DVB project from which you can work, one can easily be provided if you request (though this is certainly not &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;requirement&lt;/ins&gt;).&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;* Post &lt;/del&gt;your code &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on the linux-dvb mailing list and propose to start a new development branch in CVS where this work can get continued. Request a CVS account if you don't already &lt;/del&gt;have &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;one so that you can &lt;/del&gt;easily &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;work on your &lt;/del&gt;code.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If &lt;/ins&gt;your code &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;revisions &lt;/ins&gt;have &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;genuine, and &lt;/ins&gt;easily &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;provable, advantages over the older &lt;/ins&gt;code&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, it is highly likely that your implementation will be approved of and, ultimately, incorporated within the V4L-DVB source&lt;/ins&gt;.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;If your new code has serious advantages &lt;/del&gt;it will &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;get incorporated for sure. In &lt;/del&gt;most cases &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it will &lt;/del&gt;take less time to write the new code &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;than &lt;/del&gt;to await the end of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;discussion&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;While this approach runs somewhat in opposition to the &amp;quot;Democratic Discussion Process&amp;quot;, like that outlined in the prior section, &lt;/ins&gt;it will&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, however, in &lt;/ins&gt;most cases&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;take &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a whole lot &lt;/ins&gt;less time to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;just &lt;/ins&gt;write the new code &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and present it, as described above, then having &lt;/ins&gt;to await the end of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;any lengthy discussions&lt;/ins&gt;.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DVB driver development is done by everybody who wants &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;join development&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;no Guru has absolute power over &lt;/del&gt;the code. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;So &lt;/del&gt;you can be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sure &lt;/del&gt;that &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;everything that makes sense &lt;/del&gt;will &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;make it sooner &lt;/del&gt;or later &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;into &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mainstream source tree&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In addition, this latter approach may be able &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;steer you&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;community at large, clear away from any sort of nefarious activities that may prevent the emergence of homogeneous and easy-to-maintain &lt;/ins&gt;code. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; You are dealing with fellow human beings and, unfortunately, &lt;/ins&gt;you can &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;not account for all of their behaviour to &lt;/ins&gt;be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;gracious or dignified.&amp;nbsp; The democratic approach introduces the risk &lt;/ins&gt;that &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;discussions &lt;/ins&gt;will &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;devolve into harsh words being used as egos may be hurt due to one code base being rejected &lt;/ins&gt;or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;replaced by another.&amp;nbsp; Such occurrences can then spawn machinations within some individuals -- they may &lt;/ins&gt;later &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;try to &amp;quot;personalize&amp;quot; &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code base just because they can't resist putting in some pieces of their old theory just to keep it alive, and nobody within the community asks why they're doing it simply because everybody fears or is un-interested in becoming involved in yet another discussion with that person which is bound to degenerate into a new flame war&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Additionally&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;you achieved &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nice &lt;/del&gt;side effect&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;: Every &lt;/del&gt;developer will be highly motivated to make &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;his &lt;/del&gt;own &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;driver &lt;/del&gt;as elegant as your reference code&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, so you can be sure that all developers will join the development. This is in opposition to the &amp;quot;Democratic Discussion Process&amp;quot; where the risk is high that first many developers are pissed off by harsh words in discussion and later try to &amp;quot;personalize&amp;quot; the code just because they can't resist to put in some pieces of their old theory just to keep it alive. And nobody asks why they're doing it because everybody fears a new flame war (what again may prevent emergence of homogeneous and easy-to-maintain code)&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;On a much more positive note&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;there may be &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;beneficial &lt;/ins&gt;side effect &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;for the development community at large from your having adopted the approach outlined within this section.&amp;nbsp; Specifically, any rational &lt;/ins&gt;developer will be highly motivated to make &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;their &lt;/ins&gt;own &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code &lt;/ins&gt;as elegant as your &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;own &lt;/ins&gt;reference code.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Lastly, bear in mind that the V4L-DVB project is contributed to by anyone who wants to join development, and that no one person or guru, so to speak, has absolute power over the code.&amp;nbsp; So take heart in the fact that everything that makes sense will sooner or later make it into the mainstream V4L-DVB source tree.&lt;/ins&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:25000:newid:25045 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25000&amp;oldid=prev</id>
		<title>CityK: fixed link</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=25000&amp;oldid=prev"/>
				<updated>2009-09-19T03:12:07Z</updated>
		
		<summary type="html">&lt;p&gt;fixed link&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:12, 19 September 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; For example, over the course of a software project's development life, the original author(s) may not always be available or even willing to maintain the code forever, so other people may become involved in the code's development.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; In our case, you don't need to be a core-developer in order to become involved in their further development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; Such contributions can be done on several different levels:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; For example, over the course of a software project's development life, the original author(s) may not always be available or even willing to maintain the code forever, so other people may become involved in the code's development.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; In our case, you don't need to be a core-developer in order to become involved in their further development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; Such contributions can be done on several different levels:&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations) or more detailed bug fixes (such as logical corrections) &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[Development: How to submit patches|patches]] to the code for the purposes of providing simple clean-ups (such as remedying spelling/typo/grammar/punctuation errors or coding style violations) or more detailed bug fixes (such as logical corrections) &amp;nbsp;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DVB &lt;/del&gt;Driver Performance Optimisations|driver performance optimisations]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: Driver Performance Optimisations|driver performance optimisations]]&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=24994&amp;oldid=prev</id>
		<title>CityK: minor reworking and some link corrections</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=24994&amp;oldid=prev"/>
				<updated>2009-09-19T02:41:22Z</updated>
		
		<summary type="html">&lt;p&gt;minor reworking and some link corrections&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:41, 19 September 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; For example, over the course of a software project's development life, the original author(s) may not always be available or even willing to maintain the code forever, so other people may become involved in the code's development.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; In our case, you don't need to be a core-developer in order to become involved in their further development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; Such contributions can be done on several different levels:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software often grows over time -- both in terms of the amount of code and as well as the number of individuals contributing to the code base.&amp;nbsp; For example, over the course of a software project's development life, the original author(s) may not always be available or even willing to maintain the code forever, so other people may become involved in the code's development.&amp;nbsp; This holds true for v4l-dvb drivers and associative utilities.&amp;nbsp; In our case, you don't need to be a core-developer in order to become involved in their further development, as everybody is invited to [[Development: Code Review|review the code]] and contribute.&amp;nbsp; Such contributions can be done on several different levels:&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;simple clean ups of &lt;/del&gt;the code for the purposes of providing &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;logical correctness, correct coding style, &lt;/del&gt;spelling/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;grammer&lt;/del&gt;/punctuation&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;or &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[Bugfix]]es&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Development: How to submit patches|patches]] to &lt;/ins&gt;the code for the purposes of providing &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;simple clean-ups (such as remedying &lt;/ins&gt;spelling/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;typo/grammar&lt;/ins&gt;/punctuation &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;errors &lt;/ins&gt;or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;coding style violations) or more detailed bug fixes (such as logical corrections) &lt;/ins&gt;&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: DVB Driver Performance Optimisations|driver performance optimisations]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;or&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* more involved changes that introduce [[Development: DVB Driver Performance Optimisations|driver performance optimisations]]&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* a complete '''refactoring''' of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &amp;nbsp;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=20643&amp;oldid=prev</id>
		<title>CityK: Development: Hints for Refactoring existing DVB drivers moved to Development: Hints for Refactoring Existing Drivers: name; make it agnostic</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=20643&amp;oldid=prev"/>
				<updated>2009-01-17T23:48:03Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/index.php?title=Development:_Hints_for_Refactoring_existing_DVB_drivers&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Development: Hints for Refactoring existing DVB drivers (page does not exist)&quot;&gt;Development: Hints for Refactoring existing DVB drivers&lt;/a&gt; moved to &lt;a href=&quot;/wiki/index.php/Development:_Hints_for_Refactoring_Existing_Drivers&quot; title=&quot;Development: Hints for Refactoring Existing Drivers&quot;&gt;Development: Hints for Refactoring Existing Drivers&lt;/a&gt;: name; make it agnostic&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 23:48, 17 January 2009&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=13021&amp;oldid=prev</id>
		<title>CityK: /* What is ''Refactoring''? */  a little reworking</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=13021&amp;oldid=prev"/>
				<updated>2008-01-19T16:47:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;What is &amp;#39;&amp;#39;Refactoring&amp;#39;&amp;#39;?: &lt;/span&gt;  a little reworking&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:47, 19 January 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring is a natural process &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;-- usually &lt;/del&gt;projects grow over time and then, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and when, this naturally &lt;/del&gt;grown jungle &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;needs &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;get urbanized again &lt;/del&gt;to make it a nice place to live. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This process is usually &lt;/del&gt;accompanied by &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(sometimes &lt;/del&gt;loud &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and rude) &lt;/del&gt;discussions &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;about Philosophy &lt;/del&gt;and holy &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Wars, but &lt;/del&gt;don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring is a natural process &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in respect to &lt;/ins&gt;projects &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;that usually &lt;/ins&gt;grow over time&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; To use an analogy, every now &lt;/ins&gt;and then, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;what has &lt;/ins&gt;grown &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;through natural means into &lt;/ins&gt;jungle &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;will need &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;be cut back in order &lt;/ins&gt;to make it a nice place to live &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;again&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Unfortunately, often due to clashes of vanities and feelings of possessiveness, the steps towards a refactoring can sometimes be &lt;/ins&gt;accompanied by loud discussions &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;that equate to little more than unruly philisophical debates &lt;/ins&gt;and holy &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wars.&amp;nbsp; But &lt;/ins&gt;don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since developers may become, with time, a little myopic &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/del&gt;their own code, it makes sense that the reviewer/refactorer and programmer are often not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense, sooner or later it will make it into the public source tree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since developers may become, with time, a little myopic &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in respect towards &lt;/ins&gt;their own code, it makes sense that the reviewer/refactorer and programmer are often not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense, sooner or later it will make it into the public source tree.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not means new features. Refactoring means that you make the code maintainable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not means new features. Refactoring means that you make the code maintainable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=13018&amp;oldid=prev</id>
		<title>CityK: some reworking</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=13018&amp;oldid=prev"/>
				<updated>2008-01-19T16:29:56Z</updated>
		
		<summary type="html">&lt;p&gt;some reworking&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&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 valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:29, 19 January 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software grows over time&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, many people are involved &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;development &lt;/del&gt;and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;not always &lt;/del&gt;the original &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;authors are still &lt;/del&gt;available or willing to maintain the code forever&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. So then and when &lt;/del&gt;the code &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;has to get ''cleaned up'', &lt;/del&gt;'&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'Refactored'' to make it future&lt;/del&gt;-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;proof&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Free software &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;often &lt;/ins&gt;grows over time &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-- both &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;terms of the amount of code &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;as well as the number of individuals contributing to the code base.&amp;nbsp; For example, over the course of a software project's development life, &lt;/ins&gt;the original &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;author(s) may not always be &lt;/ins&gt;available or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;even &lt;/ins&gt;willing to maintain the code forever&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, so other people may become involved in &lt;/ins&gt;the code'&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;s development.&amp;nbsp; This holds true for v4l&lt;/ins&gt;-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;dvb drivers and associative utilities&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; In our case, you &lt;/ins&gt;don't need to be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;core-developer &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in order &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;become involved in their further development&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;as &lt;/ins&gt;everybody is invited to [[Development: Code Review|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;review the code&lt;/ins&gt;]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;and contribute.&amp;nbsp; Such contributions &lt;/ins&gt;can be done on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;several &lt;/ins&gt;different levels:&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;You &lt;/del&gt;don't need to be core-developer to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;do so&lt;/del&gt;, everybody is invited to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;review the code, join development and contribute.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* simple clean ups of &lt;/ins&gt;the code for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the purposes of providing logical &lt;/ins&gt;correctness&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, correct coding style, spelling/grammer/punctuation, or &lt;/ins&gt;[[Bugfix]]es&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* more involved changes that &lt;/ins&gt;introduce [[Development: DVB Driver Performance Optimisations&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|driver performance optimisations&lt;/ins&gt;]] or&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Basically &lt;/del&gt;[[Development: Code Review|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Code Review&lt;/del&gt;]] can be done on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;very &lt;/del&gt;different levels: &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;just check &lt;/del&gt;the code for correctness &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and perform &lt;/del&gt;[[Bugfix]]es&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;introduce [[Development: DVB Driver Performance Optimisations]] or&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Refactoring&lt;/del&gt;'''&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;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* a complete &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;refactoring&lt;/ins&gt;''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;of the code base, typically done in light of simplifying the code, and perhaps making it more future-proof&amp;nbsp; &lt;/ins&gt;&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== What is ''Refactoring''? ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== What is ''Refactoring''? ==&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;You find a short definition of &lt;/del&gt;[[Wikipedia:Refactoring|the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Refactoring Process&lt;/del&gt;]] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on Wikipedia&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;mentioning &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;important facts. The &lt;/del&gt;basic principles are: &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wikipedia provides &lt;/ins&gt;[[Wikipedia:Refactoring|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a brief definition and discussion of &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;refactoring process&lt;/ins&gt;]], &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in which you will find mentioned that &lt;/ins&gt;the basic principles &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;espoused &lt;/ins&gt;are:&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code.''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code.''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* ''Simplify your Code''.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Refacturing &lt;/del&gt;is a natural process&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;usually projects grow over time and then and when this naturally grown jungle needs to get urbanized again to make it a nice place to live. This process is usually accompanied by (sometimes loud and rude) discussions about &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[[&lt;/del&gt;Philosophy and holy Wars&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/del&gt;, but don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Refactoring &lt;/ins&gt;is a natural process &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-- &lt;/ins&gt;usually projects grow over time and then&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;and when&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;this naturally grown jungle needs to get urbanized again to make it a nice place to live. This process is usually accompanied by (sometimes loud and rude) discussions about Philosophy and holy Wars, but don't worry: dogs that make noise usually don't bite. Revolutionary ideas sometimes need some fighting to get through.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since with time &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;developers get &lt;/del&gt;a little &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;blind and used &lt;/del&gt;to their own &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;weaknesses &lt;/del&gt;it makes sense that reviewer/refactorer and programmer are not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense it will make it &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sooner or later &lt;/del&gt;into the public source tree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Since &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;developers may become, &lt;/ins&gt;with time&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;a little &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;myopic &lt;/ins&gt;to their own &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;code, &lt;/ins&gt;it makes sense that &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/ins&gt;reviewer/refactorer and programmer are &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;often &lt;/ins&gt;not the same person. No part of the Linux kernel is exclusively owned by a maintainer. If a new solution makes sense&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, sooner or later &lt;/ins&gt;it will make it into the public source tree.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not means new features. Refactoring means that you make the code maintainable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Refactoring does not means new features. Refactoring means that you make the code maintainable.&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;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Keep it Simple ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Keep it Simple ==&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The simpler the resulting code is the easier it will be to maintain. Even from the performance point of view simple code is almost always preferable.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The simpler the resulting code is&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;the easier it will be to maintain. Even from the performance point of view&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;simple code is almost always preferable.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you want to see some impressive code following this approach you may want to check out one of Fabrice Bellards Projects, e.g. [http://fabrice.bellard.free.fr/TinyGL/ TinyGL] or the ID software GPL games [http://www.idsoftware.com/business/techdownloads/ Doom, Quake &amp;amp; Co] &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Great to learn performant &lt;/del&gt;and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;compact Coding&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;If you want to see some impressive code following this approach&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;you may want to check out one of Fabrice Bellards Projects, e.g. [http://fabrice.bellard.free.fr/TinyGL/ TinyGL] or the ID software GPL games [http://www.idsoftware.com/business/techdownloads/ Doom, Quake &amp;amp; Co] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-- both of these are great examples of highly efficient coding (in terms of both compactness &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;performance)&lt;/ins&gt;.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So please: '''Whatever you do, please keep it Simple.'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;So please: '''Whatever you do, please keep it Simple.'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 105:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;DVB driver development is done by everybody who wants to join development, no Guru has absolute power over the code. So you can be sure that everything that makes sense will make it sooner or later into the mainstream source tree.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;DVB driver development is done by everybody who wants to join development, no Guru has absolute power over the code. So you can be sure that everything that makes sense will make it sooner or later into the mainstream source tree.&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Additionally, you achieved a nice side effect: Every developer will be highly motivated to make his own driver as elegant as your reference code, so you can be sure that all developers will join the development. This is in opposition to the &amp;quot;Democratic Discussion Process&amp;quot; where the risk is high that first many developers are pissed off by harsh words in discussion and later try to &amp;quot;personalize&amp;quot; the code just because they can't resist to put in some pieces of their old theory just to keep it alive. And nobody asks why they're doing it because everybody fears a new flame war (what again may prevent emergence of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;homogenous &lt;/del&gt;and easy-to-maintain code).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Additionally, you achieved a nice side effect: Every developer will be highly motivated to make his own driver as elegant as your reference code, so you can be sure that all developers will join the development. This is in opposition to the &amp;quot;Democratic Discussion Process&amp;quot; where the risk is high that first many developers are pissed off by harsh words in discussion and later try to &amp;quot;personalize&amp;quot; the code just because they can't resist to put in some pieces of their old theory just to keep it alive. And nobody asks why they're doing it because everybody fears a new flame war (what again may prevent emergence of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;homogeneous &lt;/ins&gt;and easy-to-maintain code).&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;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Category:Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=12640&amp;oldid=prev</id>
		<title>CityK: Hints for Refactoring existing DVB drivers moved to Development: Hints for Refactoring existing DVB drivers: name</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=Development:_Hints_for_Refactoring_Existing_Drivers&amp;diff=12640&amp;oldid=prev"/>
				<updated>2008-01-07T18:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/index.php?title=Hints_for_Refactoring_existing_DVB_drivers&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Hints for Refactoring existing DVB drivers (page does not exist)&quot;&gt;Hints for Refactoring existing DVB drivers&lt;/a&gt; moved to &lt;a href=&quot;/wiki/index.php?title=Development:_Hints_for_Refactoring_existing_DVB_drivers&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Development: Hints for Refactoring existing DVB drivers (page does not exist)&quot;&gt;Development: Hints for Refactoring existing DVB drivers&lt;/a&gt;: name&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='1' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 18:44, 7 January 2008&lt;/td&gt;
		&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	</feed>