<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; Device Drivers</title>
	<atom:link href="https://www.emblogic.com/blog/category/device-drivers/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>How to Replace a Switch-Statement with function pointer</title>
		<link>https://www.emblogic.com/blog/12/how-to-replace-a-switch-statement-with-function-pointer/</link>
		<comments>https://www.emblogic.com/blog/12/how-to-replace-a-switch-statement-with-function-pointer/#comments</comments>
		<pubDate>Thu, 29 Dec 2016 06:36:34 +0000</pubDate>
		<dc:creator><![CDATA[Shubham Gupta]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13822</guid>
		<description><![CDATA[float Plus (float a, float b) { return a+b; } float Minus (float a, float b) { return a-b; } float Multiply(float a, float b) { return a*b; } float Divide (float a, float b) { return a/b; } // &#8230; <a href="https://www.emblogic.com/blog/12/how-to-replace-a-switch-statement-with-function-pointer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>float Plus    (float a, float b) { return a+b; }<br />
float Minus   (float a, float b) { return a-b; }<br />
float Multiply(float a, float b) { return a*b; }<br />
float Divide  (float a, float b) { return a/b; }</p>
<p>// Solution with a switch-statement &#8211;  specifies which operation to execute<br />
void Switch(float a, float b, char opCode)<br />
{<br />
   float result;</p>
<p>   // execute operation<br />
   switch(opCode)<br />
   {<br />
      case &#8216;+&#8217; : result = Plus     (a, b); break;<br />
      case &#8216;-&#8217; : result = Minus    (a, b); break;<br />
      case &#8216;*&#8217; : result = Multiply (a, b); break;<br />
      case &#8216;/&#8217; : result = Divide   (a, b); break;<br />
   }</p>
<p>   cout &lt;&lt; &quot;Switch: 2+5=&quot; &lt;&lt; result &lt;&lt; endl;         // display result<br />
}</p>
<p>// Solution with a function pointer &#8211;  is a function pointer and points to<br />
// a function which takes two floats and returns a float. The function pointer<br />
// &#8220;specifies&#8221; which operation shall be executed.<br />
void Switch_With_Function_Pointer(float a, float b, float (*pt2Func)(float, float))<br />
{<br />
   float result = pt2Func(a, b);    // call using function pointer</p>
<p>   cout &lt;&lt; &quot;Switch replaced by function pointer: 2-5=&quot;;  // display result<br />
   cout &lt;&lt; result &lt;&lt; endl;<br />
}</p>
<p>// Execute example code<br />
void Replace_A_Switch()<br />
{<br />
   cout &lt;&lt; endl &lt;&lt; &quot;Executing function &#039;Replace_A_Switch&#039;&quot; &lt;&lt; endl;</p>
<p>   Switch(2, 5, /* &#039;+&#039; specifies function &#039;Plus&#039; to be executed */ &#039;+&#039;);<br />
   Switch_With_Function_Pointer(2, 5, /* pointer to function &#039;Minus&#039; */ &amp;Minus);<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/how-to-replace-a-switch-statement-with-function-pointer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>char. driver</title>
		<link>https://www.emblogic.com/blog/07/char-driver-9/</link>
		<comments>https://www.emblogic.com/blog/07/char-driver-9/#comments</comments>
		<pubDate>Fri, 15 Jul 2016 09:31:04 +0000</pubDate>
		<dc:creator><![CDATA[Bittoo .]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13580</guid>
		<description><![CDATA[RCS file: create_scull.c,v Working file: create_scull.c head: 1.67 branch: locks: strict root: 1.67 access list: symbolic names: keyword substitution: kv total revisions: 67; selected revisions: 67 description: this is a scull creating file &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.67 locked by: root; date: &#8230; <a href="https://www.emblogic.com/blog/07/char-driver-9/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: create_scull.c,v<br />
Working file: create_scull.c<br />
head: 1.67<br />
branch:<br />
locks: strict<br />
	root: 1.67<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 67;	selected revisions: 67<br />
description:<br />
this is a scull creating file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.67	locked by: root;<br />
date: 2016/07/09 09:58:59;  author: root;  state: Exp;  lines: +2 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.66<br />
date: 2016/07/09 09:54:57;  author: root;  state: Exp;  lines: +1 -0<br />
debuging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.65<br />
date: 2016/07/09 09:41:14;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.64<br />
date: 2016/07/09 07:24:22;  author: root;  state: Exp;  lines: +3 -1<br />
debugging scull<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.63<br />
date: 2016/07/08 19:27:47;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.62<br />
date: 2016/07/08 19:22:39;  author: root;  state: Exp;  lines: +5 -5<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.61<br />
date: 2016/07/08 19:10:27;  author: root;  state: Exp;  lines: +5 -5<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.60<br />
date: 2016/07/08 18:48:02;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.59<br />
date: 2016/07/08 18:44:44;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.58<br />
date: 2016/07/08 18:13:03;  author: root;  state: Exp;  lines: +0 -2<br />
debugging.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.57<br />
date: 2016/07/08 02:57:17;  author: root;  state: Exp;  lines: +6 -13<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.56<br />
date: 2016/07/06 07:16:15;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.55<br />
date: 2016/07/06 07:13:45;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.54<br />
date: 2016/07/05 11:41:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.53<br />
date: 2016/07/05 11:36:38;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.52<br />
date: 2016/07/05 11:36:00;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51<br />
date: 2016/07/05 11:30:00;  author: root;  state: Exp;  lines: +5 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/07/05 11:23:14;  author: root;  state: Exp;  lines: +9 -7<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/07/05 11:14:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/07/05 11:12:46;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/07/05 10:47:28;  author: root;  state: Exp;  lines: +2 -2<br />
this is the file after debugging.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/07/05 08:23:16;  author: root;  state: Exp;  lines: +1 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/07/05 08:21:21;  author: root;  state: Exp;  lines: +2 -2<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/07/05 07:54:03;  author: root;  state: Exp;  lines: +2 -4<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/07/05 07:01:35;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/07/05 06:58:36;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/07/05 06:57:10;  author: root;  state: Exp;  lines: +4 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/07/05 06:53:16;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/07/05 06:52:35;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/07/05 06:29:38;  author: root;  state: Exp;  lines: +4 -3<br />
changing the value of to which it pointing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/07/04 23:18:31;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/07/04 23:16:11;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/07/04 23:13:34;  author: root;  state: Exp;  lines: +3 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/07/04 23:10:02;  author: root;  state: Exp;  lines: +4 -3<br />
printing a statement for debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/07/04 23:01:33;  author: root;  state: Exp;  lines: +1 -0<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/07/04 22:41:35;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/07/04 22:21:46;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/07/04 22:15:55;  author: root;  state: Exp;  lines: +22 -22<br />
no such change .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/06/30 11:13:12;  author: root;  state: Exp;  lines: +2 -2<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/06/30 11:04:22;  author: root;  state: Exp;  lines: +3 -1<br />
printing the addresses<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/06/30 10:47:14;  author: root;  state: Exp;  lines: +28 -4<br />
added a memory segment for quantum.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/06/30 09:19:10;  author: root;  state: Exp;  lines: +3 -2<br />
checking the value of first and last pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/06/30 09:02:19;  author: root;  state: Exp;  lines: +3 -3<br />
removing or debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/06/30 08:54:33;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/06/30 08:49:27;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/06/30 08:06:13;  author: root;  state: Exp;  lines: +3 -4<br />
edited the commant<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/06/30 07:28:48;  author: root;  state: Exp;  lines: +2 -2<br />
printing noqs for error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/06/30 03:59:13;  author: root;  state: Exp;  lines: +4 -3<br />
Debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/06/28 11:53:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/28 11:52:39;  author: root;  state: Exp;  lines: +1 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/28 11:47:03;  author: root;  state: Exp;  lines: +2 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/28 11:43:48;  author: root;  state: Exp;  lines: +7 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/28 11:38:49;  author: root;  state: Exp;  lines: +3 -2<br />
removing a error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/28 11:09:33;  author: root;  state: Exp;  lines: +2 -3<br />
just changing the variable name<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/28 07:35:20;  author: root;  state: Exp;  lines: +1 -1<br />
removing one error of memset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/28 07:34:22;  author: root;  state: Exp;  lines: +1 -1<br />
removed one error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/28 07:33:22;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 07:23:14;  author: root;  state: Exp;  lines: +1 -1<br />
only a error of semicolon which is use to remove by adding a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/28 07:22:12;  author: root;  state: Exp;  lines: +8 -3<br />
in this i use to initilise the qset now<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/28 06:14:12;  author: root;  state: Exp;  lines: +17 -4<br />
in this i use to<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/27 12:21:20;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/27 12:19:50;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/27 12:17:27;  author: root;  state: Exp;  lines: +1 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/27 12:02:15;  author: root;  state: Exp;  lines: +1 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 12:00:39;  author: root;  state: Exp;  lines: +4 -0<br />
printing a error statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/27 11:55:14;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/27 11:46:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this is a open call routine function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2016/06/28 06:15:30;  author: root;  state: Exp;  lines: +3 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:40:13;  author: root;  state: Exp;  lines: +16 -1<br />
in this i added i dev_trim function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 10:24:20;  author: root;  state: Exp;  lines: +3 -0<br />
declaring the function of cointainer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 08:24:02;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/23 04:49:15;  author: root;  state: Exp;  lines: +1 -1<br />
in this file no such change had been done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/21 11:15:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_read.c,v<br />
Working file: dev_read.c<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
	root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16;	selected revisions: 16<br />
description:<br />
this is the read file routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16	locked by: root;<br />
date: 2016/07/12 09:46:45;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/07/12 08:39:17;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/07/12 08:24:52;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/07/12 08:21:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/07/12 08:15:10;  author: root;  state: Exp;  lines: +1 -1<br />
reading the offset position.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/07/12 08:11:50;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/07/12 07:32:26;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/07/12 06:21:06;  author: root;  state: Exp;  lines: +3 -0<br />
reinitialising the file offset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/07/12 05:56:28;  author: root;  state: Exp;  lines: +5 -0<br />
just getting the file offset position<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/07/11 12:32:02;  author: root;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/07/11 12:26:28;  author: root;  state: Exp;  lines: +1 -1<br />
removing the error of noctw.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/07/09 13:56:49;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/07/08 17:54:47;  author: root;  state: Exp;  lines: +31 -2<br />
added a prinrt statement for checking the value is coming or not<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/07/08 04:30:08;  author: root;  state: Exp;  lines: +3 -0<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/26 05:43:48;  author: root;  state: Exp;  lines: +1 -1<br />
this is read module file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 11:41:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_release.c,v<br />
Working file: dev_release.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
it&#8217;s a release file<br />
routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/07/09 13:57:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_seek.c,v<br />
Working file: dev_seek.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
	root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;	selected revisions: 4<br />
description:<br />
this is a lseek routine .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4	locked by: root;<br />
date: 2016/07/12 08:11:53;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/07/12 07:21:00;  author: root;  state: Exp;  lines: +1 -0<br />
printing astatement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/07/12 07:15:11;  author: root;  state: Exp;  lines: +1 -0<br />
derefrancing the f_pos of struct file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/07/12 00:00:34;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_trim.c,v<br />
Working file: dev_trim.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
this is the function of trimming the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: root;<br />
date: 2016/07/08 04:30:20;  author: root;  state: Exp;  lines: +23 -2<br />
deleting the quantum and ALSO freeing the memory .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/07/08 02:57:20;  author: root;  state: Exp;  lines: +4 -0<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 05:40:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_write.c,v<br />
Working file: dev_write.c<br />
head: 1.20<br />
branch:<br />
locks: strict<br />
	root: 1.20<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 20;	selected revisions: 20<br />
description:<br />
this is a write routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20	locked by: root;<br />
date: 2016/07/12 08:39:25;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/07/12 08:21:14;  author: root;  state: Exp;  lines: +0 -2<br />
..<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/07/12 08:15:31;  author: root;  state: Exp;  lines: +1 -1<br />
reading the offset position.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/07/12 08:11:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/07/12 07:32:28;  author: root;  state: Exp;  lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/07/12 06:21:39;  author: root;  state: Exp;  lines: +5 -0<br />
reinitialising the file offset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/07/12 05:56:55;  author: root;  state: Exp;  lines: +4 -1<br />
just getting the file offset position<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/07/08 18:08:18;  author: root;  state: Exp;  lines: +1 -2<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/07/08 17:55:24;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/07/08 05:18:43;  author: root;  state: Exp;  lines: +1 -1<br />
removing the error of looping.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/07/08 05:03:39;  author: root;  state: Exp;  lines: +1 -1<br />
printing veriable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/07/08 02:57:31;  author: root;  state: Exp;  lines: +10 -10<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/07/05 11:08:44;  author: root;  state: Exp;  lines: +7 -6<br />
removing the error .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/07/05 10:48:05;  author: root;  state: Exp;  lines: +22 -2<br />
in this a copy_from_user function is decleared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/07/04 20:47:30;  author: root;  state: Exp;  lines: +1 -1<br />
recorrecting  the error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/07/04 20:45:17;  author: root;  state: Exp;  lines: +1 -1<br />
returning the required bytes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/27 11:51:22;  author: root;  state: Exp;  lines: +3 -3<br />
edited the errors<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 11:47:05;  author: root;  state: Exp;  lines: +17 -0<br />
here calling of create_scull and another variables<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/24 10:29:09;  author: root;  state: Exp;  lines: +1 -1<br />
declearing the type of write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 10:21:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.20<br />
branch:<br />
locks: strict<br />
	root: 1.20<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 20;	selected revisions: 20<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20	locked by: root;<br />
date: 2016/07/14 04:20:09;  author: root;  state: Exp;  lines: +5 -0<br />
added a semaphore initialisation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/06/27 11:47:43;  author: root;  state: Exp;  lines: +10 -10<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/26 06:25:43;  author: root;  state: Exp;  lines: +1 -1<br />
changing the value of arguement of MKDEV FUNCTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/26 06:22:30;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/26 06:19:07;  author: root;  state: Exp;  lines: +1 -1<br />
removing 1 error of semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/26 06:17:28;  author: root;  state: Exp;  lines: +8 -6<br />
in this i use to varible and increase the no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/24 06:05:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/24 05:50:12;  author: root;  state: Exp;  lines: +3 -3<br />
no such changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/23 09:03:18;  author: root;  state: Exp;  lines: +4 -0<br />
adding some of the functions which is defined in fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/23 08:24:24;  author: root;  state: Exp;  lines: +0 -1<br />
removed changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/23 04:49:38;  author: root;  state: Exp;  lines: +2 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/21 11:16:06;  author: root;  state: Exp;  lines: +11 -1<br />
in this no such change occur<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
	root: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11	locked by: root;<br />
date: 2016/06/28 10:20:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 10:18:51;  author: root;  state: Exp;  lines: +3 -1<br />
defining the no. of dev element to deleted<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:47:48;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
,.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 05:08:12;  author: root;  state: Exp;  lines: +1 -1<br />
changing the variable NOD to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/21 11:17:17;  author: root;  state: Exp;  lines: +3 -1<br />
added some of func. i.e. kfree and also cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
	root: 1.15<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15;	selected revisions: 15<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15	locked by: root;<br />
date: 2016/07/14 04:20:34;  author: root;  state: Exp;  lines: +1 -0<br />
decleration of semaphore variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/07/12 00:01:02;  author: root;  state: Exp;  lines: +1 -0<br />
decleration of dev_lseek<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/07/09 13:57:27;  author: root;  state: Exp;  lines: +1 -0<br />
decleared a dev_release routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/07/05 11:09:21;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/07/05 10:48:36;  author: root;  state: Exp;  lines: +3 -1<br />
decleration of datasize and devicesize<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/27 11:43:52;  author: root;  state: Exp;  lines: +7 -5<br />
declearation of quantumsize and qset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/26 05:57:27;  author: root;  state: Exp;  lines: +1 -1<br />
&#8216;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 11:46:22;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:22:03;  author: root;  state: Exp;  lines: +1 -0<br />
declearing the dev_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 06:08:50;  author: root;  state: Exp;  lines: +1 -1<br />
added a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:41:08;  author: root;  state: Exp;  lines: +1 -0<br />
in this i decleared the prototype of dev_trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:17;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/21 11:18:02;  author: root;  state: Exp;  lines: +1 -0<br />
some of the declaration i.e. open call func.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
	root: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11	locked by: root;<br />
date: 2016/07/12 00:01:26;  author: root;  state: Exp;  lines: +2 -1<br />
routine mapping<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/07/09 13:57:50;  author: root;  state: Exp;  lines: +1 -1<br />
prototype of dev_release<br />
funtion<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/24 11:41:56;  author: root;  state: Exp;  lines: +2 -1<br />
added read file routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 10:26:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:24:19;  author: root;  state: Exp;  lines: +1 -1<br />
commenting the release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 10:22:34;  author: root;  state: Exp;  lines: +3 -1<br />
added the dev_write structure variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 06:05:08;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 04:06:10;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/21 11:18:38;  author: root;  state: Exp;  lines: +4 -1<br />
this is  the open call routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
	root: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;	selected revisions: 13<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: root;<br />
date: 2016/07/05 10:49:00;  author: root;  state: Exp;  lines: +9 -0<br />
macro devicesize and datasize<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/30 10:47:38;  author: root;  state: Exp;  lines: +1 -1<br />
making the size of qset 8.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/30 09:06:19;  author: root;  state: Exp;  lines: +1 -1<br />
decreasing qsetsize value<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/27 11:55:46;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:44:27;  author: root;  state: Exp;  lines: +13 -0<br />
Quantumsize and qsetsize macro decleared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 10:28:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrcting the name of header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/23 10:24:52;  author: root;  state: Exp;  lines: +1 -0<br />
in this i added the header file kernel.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/23 08:24:53;  author: root;  state: Exp;  lines: +2 -3<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/23 04:50:58;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/21 11:19:05;  author: root;  state: Exp;  lines: +6 -0<br />
some of the header files for chracter drivr<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: root;<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
	root: 1.5<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;	selected revisions: 5<br />
description:<br />
this is a open call routine function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5	locked by: root;<br />
date: 2016/06/24 05:40:13;  author: root;  state: Exp;  lines: +16 -1<br />
in this i added i dev_trim function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 10:24:20;  author: root;  state: Exp;  lines: +3 -0<br />
declaring the function of cointainer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 08:24:02;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/23 04:49:15;  author: root;  state: Exp;  lines: +1 -1<br />
in this file no such change had been done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/21 11:15:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_read.c,v<br />
Working file: dev_read.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is the read file routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/26 05:43:48;  author: root;  state: Exp;  lines: +1 -1<br />
this is read module file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 11:41:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_trim.c,v<br />
Working file: dev_trim.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is the function of trimming the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/24 05:40:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_write.c,v<br />
Working file: dev_write.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is a write routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/24 10:29:09;  author: root;  state: Exp;  lines: +1 -1<br />
declearing the type of write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 10:21:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.18<br />
branch:<br />
locks: strict<br />
	root: 1.18<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 18;	selected revisions: 18<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18	locked by: root;<br />
date: 2016/06/26 06:25:43;  author: root;  state: Exp;  lines: +1 -1<br />
changing the value of arguement of MKDEV FUNCTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/26 06:22:30;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/26 06:19:07;  author: root;  state: Exp;  lines: +1 -1<br />
removing 1 error of semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/26 06:17:28;  author: root;  state: Exp;  lines: +8 -6<br />
in this i use to varible and increase the no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/24 06:05:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/24 05:50:12;  author: root;  state: Exp;  lines: +3 -3<br />
no such changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/23 09:03:18;  author: root;  state: Exp;  lines: +4 -0<br />
adding some of the functions which is defined in fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/23 08:24:24;  author: root;  state: Exp;  lines: +0 -1<br />
removed changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/23 04:49:38;  author: root;  state: Exp;  lines: +2 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/21 11:16:06;  author: root;  state: Exp;  lines: +11 -1<br />
in this no such change occur<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/06/23 05:08:12;  author: root;  state: Exp;  lines: +1 -1<br />
changing the variable NOD to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/21 11:17:17;  author: root;  state: Exp;  lines: +3 -1<br />
added some of func. i.e. kfree and also cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/26 05:57:27;  author: root;  state: Exp;  lines: +1 -1<br />
&#8216;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 11:46:22;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:22:03;  author: root;  state: Exp;  lines: +1 -0<br />
declearing the dev_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 06:08:50;  author: root;  state: Exp;  lines: +1 -1<br />
added a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:41:08;  author: root;  state: Exp;  lines: +1 -0<br />
in this i decleared the prototype of dev_trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:17;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/21 11:18:02;  author: root;  state: Exp;  lines: +1 -0<br />
some of the declaration i.e. open call func.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/24 11:41:56;  author: root;  state: Exp;  lines: +2 -1<br />
added read file routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 10:26:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:24:19;  author: root;  state: Exp;  lines: +1 -1<br />
commenting the release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 10:22:34;  author: root;  state: Exp;  lines: +3 -1<br />
added the dev_write structure variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 06:05:08;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 04:06:10;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/21 11:18:38;  author: root;  state: Exp;  lines: +4 -1<br />
this is  the open call routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/06/23 10:28:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrcting the name of header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/23 10:24:52;  author: root;  state: Exp;  lines: +1 -0<br />
in this i added the header file kernel.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/23 08:24:53;  author: root;  state: Exp;  lines: +2 -3<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/23 04:50:58;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/21 11:19:05;  author: root;  state: Exp;  lines: +6 -0<br />
some of the header files for chracter drivr<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
	root: 1.5<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;	selected revisions: 5<br />
description:<br />
this is a open call routine function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5	locked by: root;<br />
date: 2016/06/24 05:40:13;  author: root;  state: Exp;  lines: +16 -1<br />
in this i added i dev_trim function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 10:24:20;  author: root;  state: Exp;  lines: +3 -0<br />
declaring the function of cointainer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 08:24:02;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/23 04:49:15;  author: root;  state: Exp;  lines: +1 -1<br />
in this file no such change had been done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/21 11:15:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_read.c,v<br />
Working file: dev_read.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is the read file routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/26 05:43:48;  author: root;  state: Exp;  lines: +1 -1<br />
this is read module file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 11:41:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_trim.c,v<br />
Working file: dev_trim.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is the function of trimming the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/24 05:40:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_write.c,v<br />
Working file: dev_write.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is a write routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/24 10:29:09;  author: root;  state: Exp;  lines: +1 -1<br />
declearing the type of write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 10:21:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.18<br />
branch:<br />
locks: strict<br />
	root: 1.18<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 18;	selected revisions: 18<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18	locked by: root;<br />
date: 2016/06/26 06:25:43;  author: root;  state: Exp;  lines: +1 -1<br />
changing the value of arguement of MKDEV FUNCTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/26 06:22:30;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/26 06:19:07;  author: root;  state: Exp;  lines: +1 -1<br />
removing 1 error of semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/26 06:17:28;  author: root;  state: Exp;  lines: +8 -6<br />
in this i use to varible and increase the no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/24 06:05:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/24 05:50:12;  author: root;  state: Exp;  lines: +3 -3<br />
no such changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/23 09:03:18;  author: root;  state: Exp;  lines: +4 -0<br />
adding some of the functions which is defined in fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/23 08:24:24;  author: root;  state: Exp;  lines: +0 -1<br />
removed changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/23 04:49:38;  author: root;  state: Exp;  lines: +2 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/21 11:16:06;  author: root;  state: Exp;  lines: +11 -1<br />
in this no such change occur<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/06/23 05:08:12;  author: root;  state: Exp;  lines: +1 -1<br />
changing the variable NOD to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/21 11:17:17;  author: root;  state: Exp;  lines: +3 -1<br />
added some of func. i.e. kfree and also cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/26 05:57:27;  author: root;  state: Exp;  lines: +1 -1<br />
&#8216;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 11:46:22;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:22:03;  author: root;  state: Exp;  lines: +1 -0<br />
declearing the dev_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 06:08:50;  author: root;  state: Exp;  lines: +1 -1<br />
added a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:41:08;  author: root;  state: Exp;  lines: +1 -0<br />
in this i decleared the prototype of dev_trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:17;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/21 11:18:02;  author: root;  state: Exp;  lines: +1 -0<br />
some of the declaration i.e. open call func.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/24 11:41:56;  author: root;  state: Exp;  lines: +2 -1<br />
added read file routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 10:26:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:24:19;  author: root;  state: Exp;  lines: +1 -1<br />
commenting the release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 10:22:34;  author: root;  state: Exp;  lines: +3 -1<br />
added the dev_write structure variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 06:05:08;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 04:06:10;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/21 11:18:38;  author: root;  state: Exp;  lines: +4 -1<br />
this is  the open call routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/06/23 10:28:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrcting the name of header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/23 10:24:52;  author: root;  state: Exp;  lines: +1 -0<br />
in this i added the header file kernel.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/23 08:24:53;  author: root;  state: Exp;  lines: +2 -3<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/23 04:50:58;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/21 11:19:05;  author: root;  state: Exp;  lines: +6 -0<br />
some of the header files for chracter drivr<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: create_scull.c,v<br />
Working file: create_scull.c<br />
head: 1.19<br />
branch:<br />
locks: strict<br />
	root: 1.19<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 19;	selected revisions: 19<br />
description:<br />
this is a scull creating file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19	locked by: root;<br />
date: 2016/06/28 11:53:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/28 11:52:39;  author: root;  state: Exp;  lines: +1 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/28 11:47:03;  author: root;  state: Exp;  lines: +2 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/28 11:43:48;  author: root;  state: Exp;  lines: +7 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/28 11:38:49;  author: root;  state: Exp;  lines: +3 -2<br />
removing a error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/28 11:09:33;  author: root;  state: Exp;  lines: +2 -3<br />
just changing the variable name<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/28 07:35:20;  author: root;  state: Exp;  lines: +1 -1<br />
removing one error of memset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/28 07:34:22;  author: root;  state: Exp;  lines: +1 -1<br />
removed one error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/28 07:33:22;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 07:23:14;  author: root;  state: Exp;  lines: +1 -1<br />
only a error of semicolon which is use to remove by adding a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/28 07:22:12;  author: root;  state: Exp;  lines: +8 -3<br />
in this i use to initilise the qset now<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/28 06:14:12;  author: root;  state: Exp;  lines: +17 -4<br />
in this i use to<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/27 12:21:20;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/27 12:19:50;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/27 12:17:27;  author: root;  state: Exp;  lines: +1 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/27 12:02:15;  author: root;  state: Exp;  lines: +1 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 12:00:39;  author: root;  state: Exp;  lines: +4 -0<br />
printing a error statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/27 11:55:14;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/27 11:46:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this is a open call routine function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2016/06/28 06:15:30;  author: root;  state: Exp;  lines: +3 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:40:13;  author: root;  state: Exp;  lines: +16 -1<br />
in this i added i dev_trim function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 10:24:20;  author: root;  state: Exp;  lines: +3 -0<br />
declaring the function of cointainer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 08:24:02;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/23 04:49:15;  author: root;  state: Exp;  lines: +1 -1<br />
in this file no such change had been done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/21 11:15:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_read.c,v<br />
Working file: dev_read.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is the read file routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/26 05:43:48;  author: root;  state: Exp;  lines: +1 -1<br />
this is read module file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 11:41:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_trim.c,v<br />
Working file: dev_trim.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is the function of trimming the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/24 05:40:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_write.c,v<br />
Working file: dev_write.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
	root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;	selected revisions: 4<br />
description:<br />
this is a write routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4	locked by: root;<br />
date: 2016/06/27 11:51:22;  author: root;  state: Exp;  lines: +3 -3<br />
edited the errors<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 11:47:05;  author: root;  state: Exp;  lines: +17 -0<br />
here calling of create_scull and another variables<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/24 10:29:09;  author: root;  state: Exp;  lines: +1 -1<br />
declearing the type of write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 10:21:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.19<br />
branch:<br />
locks: strict<br />
	root: 1.19<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 19;	selected revisions: 19<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19	locked by: root;<br />
date: 2016/06/27 11:47:43;  author: root;  state: Exp;  lines: +10 -10<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/26 06:25:43;  author: root;  state: Exp;  lines: +1 -1<br />
changing the value of arguement of MKDEV FUNCTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/26 06:22:30;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/26 06:19:07;  author: root;  state: Exp;  lines: +1 -1<br />
removing 1 error of semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/26 06:17:28;  author: root;  state: Exp;  lines: +8 -6<br />
in this i use to varible and increase the no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/24 06:05:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/24 05:50:12;  author: root;  state: Exp;  lines: +3 -3<br />
no such changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/23 09:03:18;  author: root;  state: Exp;  lines: +4 -0<br />
adding some of the functions which is defined in fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/23 08:24:24;  author: root;  state: Exp;  lines: +0 -1<br />
removed changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/23 04:49:38;  author: root;  state: Exp;  lines: +2 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/21 11:16:06;  author: root;  state: Exp;  lines: +11 -1<br />
in this no such change occur<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
	root: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11	locked by: root;<br />
date: 2016/06/28 10:20:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 10:18:51;  author: root;  state: Exp;  lines: +3 -1<br />
defining the no. of dev element to deleted<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:47:48;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
,.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 05:08:12;  author: root;  state: Exp;  lines: +1 -1<br />
changing the variable NOD to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/21 11:17:17;  author: root;  state: Exp;  lines: +3 -1<br />
added some of func. i.e. kfree and also cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
	root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10;	selected revisions: 10<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10	locked by: root;<br />
date: 2016/06/27 11:43:52;  author: root;  state: Exp;  lines: +7 -5<br />
declearation of quantumsize and qset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/26 05:57:27;  author: root;  state: Exp;  lines: +1 -1<br />
&#8216;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 11:46:22;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:22:03;  author: root;  state: Exp;  lines: +1 -0<br />
declearing the dev_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 06:08:50;  author: root;  state: Exp;  lines: +1 -1<br />
added a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:41:08;  author: root;  state: Exp;  lines: +1 -0<br />
in this i decleared the prototype of dev_trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:17;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/21 11:18:02;  author: root;  state: Exp;  lines: +1 -0<br />
some of the declaration i.e. open call func.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/24 11:41:56;  author: root;  state: Exp;  lines: +2 -1<br />
added read file routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 10:26:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:24:19;  author: root;  state: Exp;  lines: +1 -1<br />
commenting the release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 10:22:34;  author: root;  state: Exp;  lines: +3 -1<br />
added the dev_write structure variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 06:05:08;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 04:06:10;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/21 11:18:38;  author: root;  state: Exp;  lines: +4 -1<br />
this is  the open call routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
	root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10;	selected revisions: 10<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10	locked by: root;<br />
date: 2016/06/27 11:55:46;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:44:27;  author: root;  state: Exp;  lines: +13 -0<br />
Quantumsize and qsetsize macro decleared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 10:28:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrcting the name of header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/23 10:24:52;  author: root;  state: Exp;  lines: +1 -0<br />
in this i added the header file kernel.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/23 08:24:53;  author: root;  state: Exp;  lines: +2 -3<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/23 04:50:58;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/21 11:19:05;  author: root;  state: Exp;  lines: +6 -0<br />
some of the header files for chracter drivr<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: create_scull.c,v<br />
Working file: create_scull.c<br />
head: 1.56<br />
branch:<br />
locks: strict<br />
	root: 1.56<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 56;	selected revisions: 56<br />
description:<br />
this is a scull creating file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.56	locked by: root;<br />
date: 2016/07/06 07:16:15;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.55<br />
date: 2016/07/06 07:13:45;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.54<br />
date: 2016/07/05 11:41:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.53<br />
date: 2016/07/05 11:36:38;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.52<br />
date: 2016/07/05 11:36:00;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51<br />
date: 2016/07/05 11:30:00;  author: root;  state: Exp;  lines: +5 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/07/05 11:23:14;  author: root;  state: Exp;  lines: +9 -7<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/07/05 11:14:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/07/05 11:12:46;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/07/05 10:47:28;  author: root;  state: Exp;  lines: +2 -2<br />
this is the file after debugging.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/07/05 08:23:16;  author: root;  state: Exp;  lines: +1 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/07/05 08:21:21;  author: root;  state: Exp;  lines: +2 -2<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/07/05 07:54:03;  author: root;  state: Exp;  lines: +2 -4<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/07/05 07:01:35;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/07/05 06:58:36;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/07/05 06:57:10;  author: root;  state: Exp;  lines: +4 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/07/05 06:53:16;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/07/05 06:52:35;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/07/05 06:29:38;  author: root;  state: Exp;  lines: +4 -3<br />
changing the value of to which it pointing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/07/04 23:18:31;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/07/04 23:16:11;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/07/04 23:13:34;  author: root;  state: Exp;  lines: +3 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/07/04 23:10:02;  author: root;  state: Exp;  lines: +4 -3<br />
printing a statement for debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/07/04 23:01:33;  author: root;  state: Exp;  lines: +1 -0<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/07/04 22:41:35;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/07/04 22:21:46;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/07/04 22:15:55;  author: root;  state: Exp;  lines: +22 -22<br />
no such change .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/06/30 11:13:12;  author: root;  state: Exp;  lines: +2 -2<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/06/30 11:04:22;  author: root;  state: Exp;  lines: +3 -1<br />
printing the addresses<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/06/30 10:47:14;  author: root;  state: Exp;  lines: +28 -4<br />
added a memory segment for quantum.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/06/30 09:19:10;  author: root;  state: Exp;  lines: +3 -2<br />
checking the value of first and last pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/06/30 09:02:19;  author: root;  state: Exp;  lines: +3 -3<br />
removing or debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/06/30 08:54:33;  author: root;  state: Exp;  lines: +1 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/06/30 08:49:27;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/06/30 08:06:13;  author: root;  state: Exp;  lines: +3 -4<br />
edited the commant<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/06/30 07:28:48;  author: root;  state: Exp;  lines: +2 -2<br />
printing noqs for error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/06/30 03:59:13;  author: root;  state: Exp;  lines: +4 -3<br />
Debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/06/28 11:53:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/28 11:52:39;  author: root;  state: Exp;  lines: +1 -0<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/28 11:47:03;  author: root;  state: Exp;  lines: +2 -1<br />
debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/28 11:43:48;  author: root;  state: Exp;  lines: +7 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/28 11:38:49;  author: root;  state: Exp;  lines: +3 -2<br />
removing a error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/28 11:09:33;  author: root;  state: Exp;  lines: +2 -3<br />
just changing the variable name<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/28 07:35:20;  author: root;  state: Exp;  lines: +1 -1<br />
removing one error of memset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/28 07:34:22;  author: root;  state: Exp;  lines: +1 -1<br />
removed one error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/28 07:33:22;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 07:23:14;  author: root;  state: Exp;  lines: +1 -1<br />
only a error of semicolon which is use to remove by adding a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/28 07:22:12;  author: root;  state: Exp;  lines: +8 -3<br />
in this i use to initilise the qset now<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/28 06:14:12;  author: root;  state: Exp;  lines: +17 -4<br />
in this i use to<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/27 12:21:20;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/27 12:19:50;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/27 12:17:27;  author: root;  state: Exp;  lines: +1 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/27 12:02:15;  author: root;  state: Exp;  lines: +1 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 12:00:39;  author: root;  state: Exp;  lines: +4 -0<br />
printing a error statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/27 11:55:14;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/27 11:46:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this is a open call routine function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2016/06/28 06:15:30;  author: root;  state: Exp;  lines: +3 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:40:13;  author: root;  state: Exp;  lines: +16 -1<br />
in this i added i dev_trim function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 10:24:20;  author: root;  state: Exp;  lines: +3 -0<br />
declaring the function of cointainer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 08:24:02;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/23 04:49:15;  author: root;  state: Exp;  lines: +1 -1<br />
in this file no such change had been done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/21 11:15:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_read.c,v<br />
Working file: dev_read.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
this is the read file routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: root;<br />
date: 2016/06/26 05:43:48;  author: root;  state: Exp;  lines: +1 -1<br />
this is read module file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 11:41:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_trim.c,v<br />
Working file: dev_trim.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is the function of trimming the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2016/06/24 05:40:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: dev_write.c,v<br />
Working file: dev_write.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
	root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this is a write routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8	locked by: root;<br />
date: 2016/07/05 11:08:44;  author: root;  state: Exp;  lines: +7 -6<br />
removing the error .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/07/05 10:48:05;  author: root;  state: Exp;  lines: +22 -2<br />
in this a copy_from_user function is decleared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/07/04 20:47:30;  author: root;  state: Exp;  lines: +1 -1<br />
recorrecting  the error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/07/04 20:45:17;  author: root;  state: Exp;  lines: +1 -1<br />
returning the required bytes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/27 11:51:22;  author: root;  state: Exp;  lines: +3 -3<br />
edited the errors<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/27 11:47:05;  author: root;  state: Exp;  lines: +17 -0<br />
here calling of create_scull and another variables<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/24 10:29:09;  author: root;  state: Exp;  lines: +1 -1<br />
declearing the type of write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/24 10:21:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_drivr.c,v<br />
Working file: insert_drivr.c<br />
head: 1.19<br />
branch:<br />
locks: strict<br />
	root: 1.19<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 19;	selected revisions: 19<br />
description:<br />
this file is a file of inserting a driver in kernal,i.e the driver start from here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19	locked by: root;<br />
date: 2016/06/27 11:47:43;  author: root;  state: Exp;  lines: +10 -10<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/06/26 06:25:43;  author: root;  state: Exp;  lines: +1 -1<br />
changing the value of arguement of MKDEV FUNCTION<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/06/26 06:22:30;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/06/26 06:19:07;  author: root;  state: Exp;  lines: +1 -1<br />
removing 1 error of semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/06/26 06:17:28;  author: root;  state: Exp;  lines: +8 -6<br />
in this i use to varible and increase the no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/06/24 06:05:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/06/24 05:50:12;  author: root;  state: Exp;  lines: +3 -3<br />
no such changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/23 09:03:18;  author: root;  state: Exp;  lines: +4 -0<br />
adding some of the functions which is defined in fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/23 08:24:24;  author: root;  state: Exp;  lines: +0 -1<br />
removed changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/23 04:49:38;  author: root;  state: Exp;  lines: +2 -2<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/21 11:16:06;  author: root;  state: Exp;  lines: +11 -1<br />
in this no such change occur<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/18 11:26:07;  author: root;  state: Exp;  lines: +5 -1<br />
i decleared the cdev function and and file_operation structeure&#8217;s variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/18 07:52:02;  author: root;  state: Exp;  lines: +3 -3<br />
in this i initilise the dev veriable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 05:40:48;  author: root;  state: Exp;  lines: +10 -1<br />
in this file i use to change the kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/17 07:38:13;  author: root;  state: Exp;  lines: +1 -0<br />
some of the changes done after getting error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/17 07:01:53;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 06:59:33;  author: root;  state: Exp;  lines: +5 -1<br />
just adding  a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:50:27;  author: root;  state: Exp;  lines: +7 -1<br />
in this i register alloc_chrdev_region() function<br />
which is use to register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:37:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: rm_drivr.c,v<br />
Working file: rm_drivr.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
	root: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
this file is for removing that driver from kernal module<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11	locked by: root;<br />
date: 2016/06/28 10:20:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/28 10:18:51;  author: root;  state: Exp;  lines: +3 -1<br />
defining the no. of dev element to deleted<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:47:48;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
,.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 05:08:12;  author: root;  state: Exp;  lines: +1 -1<br />
changing the variable NOD to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/21 11:17:17;  author: root;  state: Exp;  lines: +3 -1<br />
added some of func. i.e. kfree and also cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/18 11:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
no changw<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/18 07:52:32;  author: root;  state: Exp;  lines: +1 -0<br />
may be any change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/18 05:41:18;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to initilise the kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/17 07:03:52;  author: root;  state: Exp;  lines: +1 -1<br />
in this file i use to add declaration.h file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:52:37;  author: root;  state: Exp;  lines: +1 -0<br />
in this i use to unregister_chrdev_region() fun calling which is use to unregisterthe driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:38:39;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: declaration.h,v<br />
Working file: declaration.h<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
	root: 1.12<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12;	selected revisions: 12<br />
description:<br />
in this there is a decleration of major no.<br />
minorno.<br />
and dev_id and also no. of nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12	locked by: root;<br />
date: 2016/07/05 11:09:21;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/07/05 10:48:36;  author: root;  state: Exp;  lines: +3 -1<br />
decleration of datasize and devicesize<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/27 11:43:52;  author: root;  state: Exp;  lines: +7 -5<br />
declearation of quantumsize and qset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/26 05:57:27;  author: root;  state: Exp;  lines: +1 -1<br />
&#8216;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 11:46:22;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:22:03;  author: root;  state: Exp;  lines: +1 -0<br />
declearing the dev_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 06:08:50;  author: root;  state: Exp;  lines: +1 -1<br />
added a semicolon<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 05:41:08;  author: root;  state: Exp;  lines: +1 -0<br />
in this i decleared the prototype of dev_trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:17;  author: root;  state: Exp;  lines: +1 -1<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/21 11:18:02;  author: root;  state: Exp;  lines: +1 -0<br />
some of the declaration i.e. open call func.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/18 05:41:46;  author: root;  state: Exp;  lines: +15 -1<br />
in this i declare the dev and qset structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/17 06:54:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operation.h,v<br />
Working file: file_operation.h<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
this is a file operation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: root;<br />
date: 2016/06/24 11:41:56;  author: root;  state: Exp;  lines: +2 -1<br />
added read file routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/24 10:26:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/24 10:24:19;  author: root;  state: Exp;  lines: +1 -1<br />
commenting the release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/24 10:22:34;  author: root;  state: Exp;  lines: +3 -1<br />
added the dev_write structure variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/24 06:05:08;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/23 04:50:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/23 04:06:10;  author: root;  state: Exp;  lines: +1 -1<br />
no change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/21 11:18:38;  author: root;  state: Exp;  lines: +4 -1<br />
this is  the open call routine structure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/18 11:28:04;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
	root: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;	selected revisions: 13<br />
description:<br />
this is a header file for driver in which the driver&#8217;s header file is use to pull from user space<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: root;<br />
date: 2016/07/05 10:49:00;  author: root;  state: Exp;  lines: +9 -0<br />
macro devicesize and datasize<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/06/30 10:47:38;  author: root;  state: Exp;  lines: +1 -1<br />
making the size of qset 8.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/06/30 09:06:19;  author: root;  state: Exp;  lines: +1 -1<br />
decreasing qsetsize value<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/06/27 11:55:46;  author: root;  state: Exp;  lines: +1 -1<br />
removing error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/06/27 11:44:27;  author: root;  state: Exp;  lines: +13 -0<br />
Quantumsize and qsetsize macro decleared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/06/23 10:28:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrcting the name of header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/06/23 10:24:52;  author: root;  state: Exp;  lines: +1 -0<br />
in this i added the header file kernel.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/06/23 08:24:53;  author: root;  state: Exp;  lines: +2 -3<br />
no such change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/06/23 04:50:58;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/06/21 11:19:05;  author: root;  state: Exp;  lines: +6 -0<br />
some of the header files for chracter drivr<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/06/18 05:42:36;  author: root;  state: Exp;  lines: +5 -1<br />
in this i use to initilise no. of devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/06/17 06:55:29;  author: root;  state: Exp;  lines: +14 -0<br />
in this there is a macro of Device name major no minor no and no. od nodes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/06/16 05:39:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/char-driver-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello_kern_prog</title>
		<link>https://www.emblogic.com/blog/04/hello_kern_prog/</link>
		<comments>https://www.emblogic.com/blog/04/hello_kern_prog/#comments</comments>
		<pubDate>Sun, 17 Apr 2016 09:42:58 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13540</guid>
		<description><![CDATA[This is insert the data into the ram and print it.]]></description>
				<content:encoded><![CDATA[<p>This is insert the data into the ram and print it.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/hello_kern_prog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character-driver</title>
		<link>https://www.emblogic.com/blog/04/character-driver-34/</link>
		<comments>https://www.emblogic.com/blog/04/character-driver-34/#comments</comments>
		<pubDate>Wed, 06 Apr 2016 11:44:28 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13497</guid>
		<description><![CDATA[Character driver &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.38 date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1 *** empty log message *** &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.37 date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1 *** empty log message *** &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision &#8230; <a href="https://www.emblogic.com/blog/04/character-driver-34/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Character driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
root: 1.15<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15; selected revisions: 15<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15 locked by: root;<br />
date: 2016/03/27 10:11:10; author: root; state: Exp; lines: +0 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/27 10:10:02; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/27 10:05:42; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/27 10:02:37; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/16 10:38:14; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.44<br />
branch:<br />
locks: strict<br />
root: 1.44<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 44; selected revisions: 44<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44 locked by: root;<br />
date: 2016/03/26 08:23:06; author: root; state: Exp; lines: +9 -9<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/26 08:17:34; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/26 08:15:51; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/26 08:06:45; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/26 07:56:13; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/26 07:55:16; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/26 07:54:15; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/26 07:53:09; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/26 07:50:05; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/26 07:46:21; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/26 07:42:37; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/26 06:10:00; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/26 05:58:03; author: root; state: Exp; lines: +0 -1<br />
remove the call of trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/23 19:27:13; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/23 19:24:55; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/16 10:45:01; author: root; state: Exp; lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/16 05:05:43; author: root; state: Exp; lines: +1 -2<br />
Here we remove one print statement and add some print text.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/16 04:59:56; author: root; state: Exp; lines: +1 -1<br />
There is not allow , inside printk like that printk(KERN_INFO, &#8220;g\n&#8221;); like this this create a error.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/16 04:52:50; author: root; state: Exp; lines: +8 -11<br />
Initially we put ldev = NULL.<br />
We use ldev into container_of().<br />
It return some value then these value save inside the file-&gt;private.data.<br />
And make a conditon in which it always strore the last two bit same as because we know O_ACCMODE the value is three and its binaray no. is 11 we and with the flag value so it store same flag digit of frist two digit.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/16 04:45:55; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/14 11:47:10; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/14 11:46:25; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/14 11:45:46; author: root; state: Exp; lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/14 11:43:39; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/14 11:42:29; author: root; state: Exp; lines: +1 -1<br />
Define the struct dev *ldev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/14 11:40:07; author: root; state: Exp; lines: +1 -3<br />
Call the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/14 11:37:59; author: root; state: Exp; lines: +3 -2<br />
Add the macro.h header file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/14 11:35:39; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/14 11:16:28; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/14 11:13:56; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/14 11:13:25; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/14 10:50:12; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/14 10:45:46; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/14 10:42:55; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/14 10:40:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/14 10:24:30; author: root; state: Exp; lines: +0 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/14 10:17:23; author: root; state: Exp; lines: +5 -1<br />
And operataion perform.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/28 10:15:46; author: root; state: Exp; lines: +1 -0<br />
Add the seekdev() return and prototype.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/22 03:46:26; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/22 03:42:57; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/21 10:56:47; author: root; state: Exp; lines: +21 -0<br />
Remove the prototype here.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: readdev.c,v<br />
Working file: readdev.c<br />
head: 1.179<br />
branch:<br />
locks: strict<br />
root: 1.179<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 179; selected revisions: 179<br />
description:<br />
This is a readdev().<br />
Here we start to read data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.179 locked by: root;<br />
date: 2016/03/31 06:06:31; author: root; state: Exp; lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.178</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/character-driver-34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi-Tasking Operating System</title>
		<link>https://www.emblogic.com/blog/03/multi-tasking-operating-system/</link>
		<comments>https://www.emblogic.com/blog/03/multi-tasking-operating-system/#comments</comments>
		<pubDate>Sat, 26 Mar 2016 16:23:17 +0000</pubDate>
		<dc:creator><![CDATA[Jyoti Singh]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13434</guid>
		<description><![CDATA[Multitasking OS is the one that can simultaneously interleave execution of more then one process. They are of two types : &#62;&#62;cooperative multitasking : in this process don&#8217;t stop running until it voluntary decide to do so . This is &#8230; <a href="https://www.emblogic.com/blog/03/multi-tasking-operating-system/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong><span style="color: #000000"><em><span style="text-decoration: underline"> Multitasking OS</span></em> is the one that can simultaneously interleave execution of more then one process.</span></strong></p>
<p><b>They are of two types :</b><br />
<b>&gt;&gt;<em><span style="text-decoration: underline">cooperative multitasking :</span></em> in this process don&#8217;t stop running until it voluntary decide to do so . This is known as <em>yielding</em></b><b><em>.</em></b></p>
<p><b>&gt;&gt;<em><span style="text-decoration: underline">Preemptive multitasking :</span></em> in this scheduler decides when a process to cease running and a new process to begin running. This involuntary suspending of running program is called <em>preemptive</em>. This maintains that no process monopolize the resource.</b></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/multi-tasking-operating-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>character driver(Hello kernel)</title>
		<link>https://www.emblogic.com/blog/03/character-driverhello-kernel/</link>
		<comments>https://www.emblogic.com/blog/03/character-driverhello-kernel/#comments</comments>
		<pubDate>Wed, 16 Mar 2016 04:05:38 +0000</pubDate>
		<dc:creator><![CDATA[Vishal Kumar]]></dc:creator>
				<category><![CDATA[Device Drivers]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13360</guid>
		<description><![CDATA[RCS file: exit_p.c,v Working file: exit_p.c head: 1.1 branch: locks: strict root: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: file contain init_exit module and function. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1    locked by: root; date: &#8230; <a href="https://www.emblogic.com/blog/03/character-driverhello-kernel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: exit_p.c,v<br />
Working file: exit_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file contain init_exit module and function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:09:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
this having all header files used in program.<br />
init.h kernel.h module.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 17:10:03;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init_p.c,v<br />
Working file: init_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file having module_init and its function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:11:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: exit_p.c,v<br />
Working file: exit_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file contain init_exit module and function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:09:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
this having all header files used in program.<br />
init.h kernel.h module.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:10:03;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init_p.c,v<br />
Working file: init_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file having module_init and its function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:11:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: exit_p.c,v<br />
Working file: exit_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file contain init_exit module and function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:09:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
this having all header files used in program.<br />
init.h kernel.h module.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2016/03/10 17:15:45;  author: root;  state: Exp;  lines: +4 -0<br />
using the MODULE LICENSE AUTHOR &amp; DESCRIPTION.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 17:10:03;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init_p.c,v<br />
Working file: init_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file having module_init and its function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:11:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: exit_p.c,v<br />
Working file: exit_p.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
file contain init_exit module and function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2016/03/10 17:09:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
this having all header files used in program.<br />
init.h kernel.h module.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2016/03/10 17:15:45;  author: root;  state: Exp;  lines: +4 -0<br />
using the MODULE LICENSE AUTHOR &amp; DESCRIPTION.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 17:10:03;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init_p.c,v<br />
Working file: init_p.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
file having module_init and its function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2016/03/10 17:18:11;  author: root;  state: Exp;  lines: +1 -1<br />
KERN_INFO flag in printk().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 17:11:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/character-driverhello-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is Character Driver?</title>
		<link>https://www.emblogic.com/blog/02/what-is-character-driver/</link>
		<comments>https://www.emblogic.com/blog/02/what-is-character-driver/#comments</comments>
		<pubDate>Sun, 21 Feb 2016 12:10:16 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[char driver]]></category>
		<category><![CDATA[Character Device Driver]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13296</guid>
		<description><![CDATA[A character device driver is one that transfers data directly to and from a user process. This is the most common type of device driver and there are plenty of simple examples in the source tree. Character device drivers may &#8230; <a href="https://www.emblogic.com/blog/02/what-is-character-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">A character device driver is one that transfers data directly to and from a user process. </span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">This is the most common type of device driver and there are plenty of simple examples in the source tree.</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">Character device drivers may transfer data between a user-level process and the device using any scheme other than the system buffer cache. </span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">Character drivers control devices such as :-</span></span></span></p>
<p>&nbsp;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* network cards</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* terminal devices</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* printers</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* specialized devices such as robots</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* medical devices</span></span></span></p>
<p><span style="font-family: times new roman,times,serif"><span style="color: #333333"><span style="font-size: 14px">* retail sales devices.</span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/what-is-character-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Block Driver</title>
		<link>https://www.emblogic.com/blog/12/introduction-to-block-driver/</link>
		<comments>https://www.emblogic.com/blog/12/introduction-to-block-driver/#comments</comments>
		<pubDate>Wed, 16 Dec 2015 11:49:17 +0000</pubDate>
		<dc:creator><![CDATA[Jatin Mittal]]></dc:creator>
				<category><![CDATA[Block Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13067</guid>
		<description><![CDATA[Overview :  Block Drivers are act as conduit between core memory and secondary storage. There is a virtual memory layer between core memory and secondary storage. Block Layer could be seen as a part of virtual memory subsystem. Block driver &#8230; <a href="https://www.emblogic.com/blog/12/introduction-to-block-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Overview :</p>
<ul>
<li> Block Drivers are act as conduit between core memory and secondary storage.</li>
<li>There is a virtual memory layer between core memory and secondary storage.</li>
<li>Block Layer could be seen as a part of virtual memory subsystem.</li>
<li>Block driver provides access to devices that transfer randomly accessible data.</li>
<li>Block Driver controls the block layer, makes decision about collecting bytes into group of bytes, handle interaction between virtual layer and block layer, block layer and block devices.</li>
<li>Block Driver collect chunks of bytes into blocks.</li>
<li>As almost every block device consist of file system also. Therefore block device driver must take care of file system.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/introduction-to-block-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>character driver</title>
		<link>https://www.emblogic.com/blog/12/character-driver-33/</link>
		<comments>https://www.emblogic.com/blog/12/character-driver-33/#comments</comments>
		<pubDate>Wed, 16 Dec 2015 07:05:43 +0000</pubDate>
		<dc:creator><![CDATA[Narendra Pal]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Character Device Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13050</guid>
		<description><![CDATA[Hi! character driver steps of character driver writing - 1-&#62;create structure for device 2-&#62;Allocate memory 3-&#62;Initialise device 4-&#62;Insert device using modprobe /insmod command 5-&#62;Release device &#160; &#160; 3 . &#160;]]></description>
				<content:encoded><![CDATA[<p>Hi!</p>
<p>character driver</p>
<p>steps of character driver writing -</p>
<p>1-&gt;create structure for device</p>
<p>2-&gt;Allocate memory</p>
<p>3-&gt;Initialise device</p>
<p>4-&gt;Insert device using modprobe /insmod command</p>
<p>5-&gt;Release device</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>3</p>
<p>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/character-driver-33/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Write a Writer Routine.</title>
		<link>https://www.emblogic.com/blog/12/how-to-write-a-writer-routine/</link>
		<comments>https://www.emblogic.com/blog/12/how-to-write-a-writer-routine/#comments</comments>
		<pubDate>Wed, 16 Dec 2015 06:51:16 +0000</pubDate>
		<dc:creator><![CDATA[Sanny Singh]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13025</guid>
		<description><![CDATA[In the char driver We write the Write Routine.  This write routine is mapped in struct file operations . We use copy_from_user macro. this macro has three arguments. first is void* to second is const  void* __user form and last &#8230; <a href="https://www.emblogic.com/blog/12/how-to-write-a-writer-routine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In the char driver We write the Write Routine.  This write routine is mapped in struct file operations . We use copy_from_user macro. this macro has three arguments. first is void* to second is const  void* __user form and last argument is how many char  have to write.</p>
<p>first malloc the sqset then malloc sqset-&gt;data and at last create qsetarray. Then malloc qsetarry member one by one and write the data by using copy_from_user macro.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/how-to-write-a-writer-routine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create the node, open it and open &amp; release the devices</title>
		<link>https://www.emblogic.com/blog/05/create-the-node-open-it-and-open-release-the-devices/</link>
		<comments>https://www.emblogic.com/blog/05/create-the-node-open-it-and-open-release-the-devices/#comments</comments>
		<pubDate>Thu, 07 May 2015 08:24:09 +0000</pubDate>
		<dc:creator><![CDATA[Sachin Jangid]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Device Drivers]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12650</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.14 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 14; selected revisions: 14 description: this is basic header file &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.14 date: 2015/05/07 07:48:45; author: root; state: Exp; &#8230; <a href="https://www.emblogic.com/blog/05/create-the-node-open-it-and-open-release-the-devices/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.14<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 14;	selected revisions: 14<br />
description:<br />
this is basic header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/05/07 07:48:45;  author: root;  state: Exp;  lines: +1 -1<br />
gave the prototype for scull_trim()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/05/07 07:47:51;  author: root;  state: Exp;  lines: +1 -1<br />
declare the prototype for open_dev &amp; close_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/05/06 13:59:14;  author: root;  state: Exp;  lines: +31 -35<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/05/06 11:32:13;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/05/06 11:29:40;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/05/06 11:26:56;  author: root;  state: Exp;  lines: +9 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/04/27 10:24:14;  author: root;  state: Exp;  lines: +21 -0<br />
declare marcos for quantum size, qset size, data size, device size<br />
also declare these variables in struct Dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:43:07;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:38:51;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 13:32:14;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 12:55:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 12:52:22;  author: root;  state: Exp;  lines: +14 -0<br />
declare struct Qset, struct Dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 11:42:31;  author: root;  state: Exp;  lines: +20 -1<br />
included moduleparan.h &amp; slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:37;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_operations.h,v<br />
Working file: file_operations.h<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
this is basic header file for file operations<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/05/07 08:05:53;  author: root;  state: Exp;  lines: +1 -1<br />
map close_dev with release<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/05/07 08:04:10;  author: root;  state: Exp;  lines: +1 -1<br />
declare a structure struct file_operations<br />
map open_dev with open<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/05/07 08:03:44;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12;	selected revisions: 12<br />
description:<br />
this is driver intialisation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/05/06 13:59:15;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/04/27 10:36:47;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/04/27 10:34:46;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/04/27 10:25:49;  author: root;  state: Exp;  lines: +46 -17<br />
for new device use register_chrdev_region()<br />
intialize all device i.e. nod=20<br />
add all device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/04/24 13:40:59;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:32:16;  author: root;  state: Exp;  lines: +6 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 12:52:59;  author: root;  state: Exp;  lines: +11 -0<br />
allocating memory using kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 11:58:00;  author: root;  state: Exp;  lines: +1 -1<br />
use module parameter using module_param()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:43:06;  author: root;  state: Exp;  lines: +14 -2<br />
intialise driver using alloc_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:32:26;  author: root;  state: Exp;  lines: +3 -3<br />
register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:24:42;  author: root;  state: Exp;  lines: +3 -3<br />
intialize driver using __init func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: clean.c,v<br />
Working file: clean.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;	selected revisions: 7<br />
description:<br />
this is driver cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/27 10:27:17;  author: root;  state: Exp;  lines: +8 -2<br />
clean all devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:32:17;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 12:53:37;  author: root;  state: Exp;  lines: +1 -0<br />
free memory using kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:44:00;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver using unregister_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:33:04;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:25:51;  author: root;  state: Exp;  lines: +1 -1<br />
cleanup the driver using __exit func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:21:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: writer.c,v<br />
Working file: writer.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/05/07 08:35:22;  author: root;  state: Exp;  lines: +1 -1<br />
this program deals with application<br />
here we can open the node using open command to get the fd<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/05/06 11:27:09;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: open_dev.c,v<br />
Working file: open_dev.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;	selected revisions: 4<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/05/07 08:26:22;  author: root;  state: Exp;  lines: +0 -1<br />
call a func scull_trim to flush the data from device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/05/07 08:15:24;  author: root;  state: Exp;  lines: +0 -1<br />
this is the program for open the devices<br />
points the scull_dev * to offset of 2nd device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/05/06 13:59:16;  author: root;  state: Exp;  lines: +7 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/05/06 11:27:13;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: close_dev.c,v<br />
Working file: close_dev.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/05/07 07:51:41;  author: root;  state: Exp;  lines: +1 -1<br />
this is a simple program for closing the device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/05/06 13:59:17;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/05/06 11:27:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/05/create-the-node-open-it-and-open-release-the-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add the 20 devices and initialise the user defined structure dev in b/w cdev_init and cdev_add</title>
		<link>https://www.emblogic.com/blog/04/add-the-20-devices-and-initialise-the-user-defined-structure-dev-in-bw-cdev_init-and-cdev_add/</link>
		<comments>https://www.emblogic.com/blog/04/add-the-20-devices-and-initialise-the-user-defined-structure-dev-in-bw-cdev_init-and-cdev_add/#comments</comments>
		<pubDate>Mon, 27 Apr 2015 10:29:06 +0000</pubDate>
		<dc:creator><![CDATA[Shashank Arora]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Device Drivers]]></category>
		<category><![CDATA[char driver]]></category>
		<category><![CDATA[Character Device Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12641</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.6 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 6; selected revisions: 6 description: ---------------------------- revision 1.6 date: 2015/04/28 15:54:10; author: root; state: Exp; lines: +16 -0 define the &#8230; <a href="https://www.emblogic.com/blog/04/add-the-20-devices-and-initialise-the-user-defined-structure-dev-in-bw-cdev_init-and-cdev_add/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<pre class="western">
</pre>
<pre class="western">RCS file: header.h,v</pre>
<pre class="western">Working file: header.h</pre>
<pre class="western">head: 1.6</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 6;	selected revisions: 6</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.6</pre>
<pre class="western">date: 2015/04/28 15:54:10;  author: root; 
state: Exp;  lines: +16 -0</pre>
<pre class="western">define the macro of user defined parameter such
as QUANTUM_SIZE, DATA_SIZE, QSET_SIZE, DEVICE_SIZE.set the default
values.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 15:51:54;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">removed the struct of cdev.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 14:41:40;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">introduced the stucture for mapping</pre>
<pre class="western">stuct Qset, struct dev where our devices node
information is stored.</pre>
<pre class="western">in struct dev struct cdev is declared
internally.</pre>
<pre class="western">also declared the extern struct dev *sdev
pointer for mapping</pre>
<pre class="western">,</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 13:28:55;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:47;  author: root; 
state: Exp;  lines: +3 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: declaration.h,v</pre>
<pre class="western">Working file: declaration.h</pre>
<pre class="western">head: 1.7</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 7;	selected revisions: 7</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.7</pre>
<pre class="western">date: 2015/04/28 15:56:37;  author: root; 
state: Exp;  lines: +2 -6</pre>
<pre class="western">declared the extern variable of Macros.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.6</pre>
<pre class="western">date: 2015/04/28 12:55:36;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">declared the extern ndev in this.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 17:35:00;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">introduced extern file operations variable.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 15:52:20;  author: root; 
state: Exp;  lines: +2 -2</pre>
<pre class="western">include the linux/cdev.h in header.h</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 14:45:32;  author: root; 
state: Exp;  lines: +19 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:47;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: new_initialization.c,v</pre>
<pre class="western">Working file: new_initialization.c</pre>
<pre class="western">head: 1.13</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 13;	selected revisions: 13</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.13</pre>
<pre class="western">date: 2015/04/28 16:20:11;  author: root; 
state: Exp;  lines: +3 -1</pre>
<pre class="western">same as previous version, just checking.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.12</pre>
<pre class="western">date: 2015/04/28 15:33:55;  author: root; 
state: Exp;  lines: +37 -8</pre>
<pre class="western">declared the init_dev_parameter() in which
initialise the MACRO quantum_size,qset_size,data_size,device_size.</pre>
<pre class="western">after that, call first in initial_func() so that
it will be initalized again.</pre>
<pre class="western">Now, access these parameters through struct dev
variable which should be initialised b/w cdev_init() and cdev_add().</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.11</pre>
<pre class="western">date: 2015/04/28 13:04:27;  author: root; 
state: Exp;  lines: +2 -1</pre>
<pre class="western">add the macro MINOR(ndev) to retrive the minor
no.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.10</pre>
<pre class="western">date: 2015/04/28 13:00:29;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">change the arugment of MKDEV(). 2nd argument
will be loop index because we gave the minor no.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.9</pre>
<pre class="western">date: 2015/04/28 12:51:10;  author: root; 
state: Exp;  lines: +26 -18</pre>
<pre class="western">register the devices 20 in loop.</pre>
<pre class="western">declared MKDEV in loop to conmbine the major and
minor value into single one.</pre>
<pre class="western">change the cdev and add the 20 devices.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.8</pre>
<pre class="western">date: 2015/04/26 17:23:35;  author: root; 
state: Exp;  lines: +16 -2</pre>
<pre class="western">initialize cdev_init and pass the 1st arguement
which is address of cdev which is pointed by object of struct dev.</pre>
<pre class="western">2nd arguement is address of file_operations.</pre>
<pre class="western">after cdev_init also initialized owner field and
file_operations *ops field which is actually defined in cdev.h.</pre>
<pre class="western">after initialization of cdev_init, we need to
make the connection by using cdev_add().</pre>
<pre class="western">In cdev_add(),mentioned the address pointed by
dev to cdev, 2nd arguement is dev and 3rd one is no. of devices we
added which is nod.</pre>
<pre class="western">successfully cdev_add() is done, the driver
initilization is complete.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.7</pre>
<pre class="western">date: 2015/04/26 16:11:06;  author: root; 
state: Exp;  lines: +4 -3</pre>
<pre class="western">add the if statement in kmalloc error checking.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.6</pre>
<pre class="western">date: 2015/04/26 15:51:07;  author: root; 
state: Exp;  lines: +2 -1</pre>
<pre class="western">correct the mistake done is kmalloc of FLAG.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 14:40:00;  author: root; 
state: Exp;  lines: +8 -0</pre>
<pre class="western">declared kmalloc and provide space into the
kernel.</pre>
<pre class="western">after that memset flushed the memory.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 13:30:58;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 13:28:53;  author: root; 
state: Exp;  lines: +3 -1</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:42;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: new_clean.c,v</pre>
<pre class="western">Working file: new_clean.c</pre>
<pre class="western">head: 1.7</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 7;	selected revisions: 7</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.7</pre>
<pre class="western">date: 2015/04/28 12:54:55;  author: root; 
state: Exp;  lines: +5 -1</pre>
<pre class="western">cdev_del is in loop to delete the connection.</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/add-the-20-devices-and-initialise-the-user-defined-structure-dev-in-bw-cdev_init-and-cdev_add/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Register a new device using register_chrdev_region, and intialize &amp; add all devices</title>
		<link>https://www.emblogic.com/blog/04/register-a-new-device-using-register_chrdev_region-and-intialize-add-all-devices/</link>
		<comments>https://www.emblogic.com/blog/04/register-a-new-device-using-register_chrdev_region-and-intialize-add-all-devices/#comments</comments>
		<pubDate>Mon, 27 Apr 2015 10:21:15 +0000</pubDate>
		<dc:creator><![CDATA[Sachin Jangid]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Device Drivers]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12638</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: this is basic header file &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2015/04/24 05:20:37; author: root; state: Exp; &#8230; <a href="https://www.emblogic.com/blog/04/register-a-new-device-using-register_chrdev_region-and-intialize-add-all-devices/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
this is basic header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:37;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
this is driver intialisation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:32:26;  author: root;  state: Exp;  lines: +3 -3<br />
register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:24:42;  author: root;  state: Exp;  lines: +3 -3<br />
intialize driver using __init func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: clean.c,v<br />
Working file: clean.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
this is driver cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:33:04;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:25:51;  author: root;  state: Exp;  lines: +1 -1<br />
cleanup the driver using __exit func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:21:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;	selected revisions: 7<br />
description:<br />
this is basic header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:43:07;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:38:51;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 13:32:14;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 12:55:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 12:52:22;  author: root;  state: Exp;  lines: +14 -0<br />
declare struct Qset, struct Dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 11:42:31;  author: root;  state: Exp;  lines: +20 -1<br />
included moduleparan.h &amp; slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:37;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this is driver intialisation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/04/24 13:40:59;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:32:16;  author: root;  state: Exp;  lines: +6 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 12:52:59;  author: root;  state: Exp;  lines: +11 -0<br />
allocating memory using kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 11:58:00;  author: root;  state: Exp;  lines: +1 -1<br />
use module parameter using module_param()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:43:06;  author: root;  state: Exp;  lines: +14 -2<br />
intialise driver using alloc_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:32:26;  author: root;  state: Exp;  lines: +3 -3<br />
register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:24:42;  author: root;  state: Exp;  lines: +3 -3<br />
intialize driver using __init func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: clean.c,v<br />
Working file: clean.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this is driver cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:32:17;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 12:53:37;  author: root;  state: Exp;  lines: +1 -0<br />
free memory using kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:44:00;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver using unregister_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:33:04;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:25:51;  author: root;  state: Exp;  lines: +1 -1<br />
cleanup the driver using __exit func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:21:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;	selected revisions: 8<br />
description:<br />
this is basic header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/04/27 10:24:14;  author: root;  state: Exp;  lines: +21 -0<br />
declare marcos for quantum size, qset size, data size, device size<br />
also declare these variables in struct Dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:43:07;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:38:51;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 13:32:14;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 12:55:42;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 12:52:22;  author: root;  state: Exp;  lines: +14 -0<br />
declare struct Qset, struct Dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 11:42:31;  author: root;  state: Exp;  lines: +20 -1<br />
included moduleparan.h &amp; slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:37;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
this is driver intialisation file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/04/27 10:36:47;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/04/27 10:34:46;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/04/27 10:25:49;  author: root;  state: Exp;  lines: +46 -17<br />
for new device use register_chrdev_region()<br />
intialize all device i.e. nod=20<br />
add all device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/04/24 13:40:59;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/24 13:32:16;  author: root;  state: Exp;  lines: +6 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 12:52:59;  author: root;  state: Exp;  lines: +11 -0<br />
allocating memory using kmalloc()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 11:58:00;  author: root;  state: Exp;  lines: +1 -1<br />
use module parameter using module_param()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:43:06;  author: root;  state: Exp;  lines: +14 -2<br />
intialise driver using alloc_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:32:26;  author: root;  state: Exp;  lines: +3 -3<br />
register the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:24:42;  author: root;  state: Exp;  lines: +3 -3<br />
intialize driver using __init func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:20:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: clean.c,v<br />
Working file: clean.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;	selected revisions: 7<br />
description:<br />
this is driver cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/04/27 10:27:17;  author: root;  state: Exp;  lines: +8 -2<br />
clean all devices<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/04/24 13:32:17;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/24 12:53:37;  author: root;  state: Exp;  lines: +1 -0<br />
free memory using kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/24 11:44:00;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver using unregister_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 05:33:04;  author: root;  state: Exp;  lines: +1 -1<br />
unregister the driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 05:25:51;  author: root;  state: Exp;  lines: +1 -1<br />
cleanup the driver using __exit func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 05:21:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/register-a-new-device-using-register_chrdev_region-and-intialize-add-all-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initialization, registeration of device driver by using cdev_add() and remove the connection successfully</title>
		<link>https://www.emblogic.com/blog/04/initialization-registeration-of-device-driver-by-using-cdev_add-and-remove-the-connection-successfully/</link>
		<comments>https://www.emblogic.com/blog/04/initialization-registeration-of-device-driver-by-using-cdev_add-and-remove-the-connection-successfully/#comments</comments>
		<pubDate>Sat, 25 Apr 2015 12:40:47 +0000</pubDate>
		<dc:creator><![CDATA[Shashank Arora]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>
		<category><![CDATA[Device Drivers]]></category>
		<category><![CDATA[Character Device Driver]]></category>
		<category><![CDATA[device driver]]></category>
		<category><![CDATA[insert device driver]]></category>
		<category><![CDATA[remove device driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12632</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.5 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 5; selected revisions: 5 description: ---------------------------- revision 1.5 date: 2015/04/26 15:51:54; author: root; state: Exp; lines: +1 -0 removed the &#8230; <a href="https://www.emblogic.com/blog/04/initialization-registeration-of-device-driver-by-using-cdev_add-and-remove-the-connection-successfully/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<pre class="western">RCS file: header.h,v</pre>
<pre class="western">Working file: header.h</pre>
<pre class="western">head: 1.5</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 5;	selected revisions: 5</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 15:51:54;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">removed the struct of cdev.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 14:41:40;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">introduced the stucture for mapping</pre>
<pre class="western">stuct Qset, struct dev where our devices node
information is stored.</pre>
<pre class="western">in struct dev struct cdev is declared
internally.</pre>
<pre class="western">also declared the extern struct dev *sdev
pointer for mapping</pre>
<pre class="western">,</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 13:28:55;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:47;  author: root; 
state: Exp;  lines: +3 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: declaration.h,v</pre>
<pre class="western">Working file: declaration.h</pre>
<pre class="western">head: 1.5</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 5;	selected revisions: 5</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 17:35:00;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">introduced extern file operations variable.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 15:52:20;  author: root; 
state: Exp;  lines: +2 -2</pre>
<pre class="western">include the linux/cdev.h in header.h</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 14:45:32;  author: root; 
state: Exp;  lines: +19 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:47;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: new_initialization.c,v</pre>
<pre class="western">Working file: new_initialization.c</pre>
<pre class="western">head: 1.8</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 8;	selected revisions: 8</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.8</pre>
<pre class="western">date: 2015/04/26 17:23:35;  author: root; 
state: Exp;  lines: +16 -2</pre>
<pre class="western">initialize cdev_init and pass the 1st arguement
which is address of cdev which is pointed by object of struct dev.</pre>
<pre class="western">2nd arguement is address of file_operations.</pre>
<pre class="western">after cdev_init also initialized owner field and
file_operations *ops field which is actually defined in cdev.h.</pre>
<pre class="western">after initialization of cdev_init, we need to
make the connection by using cdev_add().</pre>
<pre class="western">In cdev_add(),mentioned the address pointed by
dev to cdev, 2nd arguement is dev and 3rd one is no. of devices we
added which is nod.</pre>
<pre class="western">successfully cdev_add() is done, the driver
initilization is complete.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.7</pre>
<pre class="western">date: 2015/04/26 16:11:06;  author: root; 
state: Exp;  lines: +4 -3</pre>
<pre class="western">add the if statement in kmalloc error checking.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.6</pre>
<pre class="western">date: 2015/04/26 15:51:07;  author: root; 
state: Exp;  lines: +2 -1</pre>
<pre class="western">correct the mistake done is kmalloc of FLAG.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 14:40:00;  author: root; 
state: Exp;  lines: +8 -0</pre>
<pre class="western">declared kmalloc and provide space into the
kernel.</pre>
<pre class="western">after that memset flushed the memory.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 13:30:58;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 13:28:53;  author: root; 
state: Exp;  lines: +3 -1</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:42;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
<pre class="western">
</pre>
<pre class="western">RCS file: new_clean.c,v</pre>
<pre class="western">Working file: new_clean.c</pre>
<pre class="western">head: 1.6</pre>
<pre class="western">branch:</pre>
<pre class="western">locks: strict</pre>
<pre class="western">access list:</pre>
<pre class="western">symbolic names:</pre>
<pre class="western">keyword substitution: kv</pre>
<pre class="western">total revisions: 6;	selected revisions: 6</pre>
<pre class="western">description:</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.6</pre>
<pre class="western">date: 2015/04/26 17:33:01;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">The device represented stucture cdev must be
removed from the device table by using cdev_del by giving the
arguement which is address pointed dev to cdev.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.5</pre>
<pre class="western">date: 2015/04/26 15:37:52;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">change the kfree arguement i.e address of struct
dev.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.4</pre>
<pre class="western">date: 2015/04/26 14:41:00;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">kfree() is used before unregistered the driver.</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.3</pre>
<pre class="western">date: 2015/04/26 13:28:55;  author: root; 
state: Exp;  lines: +1 -1</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.2</pre>
<pre class="western">date: 2015/04/26 13:18:44;  author: root; 
state: Exp;  lines: +1 -0</pre>
<pre class="western">*** empty log message ***</pre>
<pre class="western">----------------------------</pre>
<pre class="western">revision 1.1</pre>
<pre class="western">date: 2015/04/26 13:12:11;  author: root; 
state: Exp;</pre>
<pre class="western">Initial revision</pre>
<pre class="western">=============================================================================</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/initialization-registeration-of-device-driver-by-using-cdev_add-and-remove-the-connection-successfully/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insert the driver into the kernel and remove the driver from kernel</title>
		<link>https://www.emblogic.com/blog/04/insert-the-driver-into-the-kernel-and-remove-the-driver-from-kernel/</link>
		<comments>https://www.emblogic.com/blog/04/insert-the-driver-into-the-kernel-and-remove-the-driver-from-kernel/#comments</comments>
		<pubDate>Sat, 25 Apr 2015 11:24:58 +0000</pubDate>
		<dc:creator><![CDATA[Vishal Chopra]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12630</guid>
		<description><![CDATA[RCS file: init.c,v Working file: init.c head: 1.6 branch: locks: strict emblogic: 1.6 access list: symbolic names: keyword substitution: kv total revisions: 6; selected revisions: 6 description: Print a statement in the kernel Register in the kernel. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.6 &#8230; <a href="https://www.emblogic.com/blog/04/insert-the-driver-into-the-kernel-and-remove-the-driver-from-kernel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: init.c,v<br />
Working file: init.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	emblogic: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
Print a statement in the kernel<br />
Register in the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: emblogic;<br />
date: 2015/04/25 11:05:53;  author: emblogic;  state: Exp;  lines: +13 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/04/25 10:24:58;  author: emblogic;  state: Exp;  lines: +12 -1<br />
Memory is allocated in the kernel by using kmalloc.<br />
cdev is initalize by using cdev_init.<br />
after initialization its value is added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/04/25 07:45:30;  author: emblogic;  state: Exp;  lines: +31 -7<br />
Register the module in the kernel by using aloc_chardev_region.<br />
Also input the value of the nod from the user.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/24 12:33:08;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/24 12:21:54;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 11:40:51;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: clean.c,v<br />
Working file: clean.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
	emblogic: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;	selected revisions: 4<br />
description:<br />
Include the file_operation structure.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4	locked by: emblogic;<br />
date: 2015/04/25 11:05:56;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/04/25 10:33:10;  author: emblogic;  state: Exp;  lines: +3 -0<br />
Cleaning process is reverse of the initalization.<br />
first cdev struct is remove from the device table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/04/25 07:51:20;  author: emblogic;  state: Exp;  lines: +12 -4<br />
Unregister the module from the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/04/24 11:41:38;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/insert-the-driver-into-the-kernel-and-remove-the-driver-from-kernel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
