<?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; B Binayak</title>
	<atom:link href="https://www.emblogic.com/blog/author/binayak2508/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>rcs of character device driver till synchronization</title>
		<link>https://www.emblogic.com/blog/12/rcs-of-character-device-driver/</link>
		<comments>https://www.emblogic.com/blog/12/rcs-of-character-device-driver/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:35:27 +0000</pubDate>
		<dc:creator><![CDATA[B Binayak]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11930</guid>
		<description><![CDATA[RCS file: RCS/header.h,v Working file: header.h head: 3.14 locks: strict root: 1.14 access list: symbolic names: keyword substitution: kv total revisions: 14;    selected revisions: 14 description: This is the base header file for our Project Character Device Driver &#8216; Included &#8230; <a href="https://www.emblogic.com/blog/12/rcs-of-character-device-driver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/header.h,v<br />
Working file: header.h<br />
head: 3.14<br />
locks: strict<br />
root: 1.14<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 14;    selected revisions: 14<br />
description:<br />
This is the base header file for our Project Character Device Driver<br />
&#8216;<br />
Included header linux/kernel.h<br />
Included header linux/module.h<br />
implemented Macros MODULE_LICENSE and MODULE_AUTHOR<br />
defined macros MAJORNO and DEVNAME<br />
defined macro DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14    locked by: root;<br />
date: 2014/12/15 02:23:32;  author: root;  state: Exp;  lines: +1 -0<br />
declared heaader linux/completion.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/12/14 20:23:07;  author: root;  state: Exp;  lines: +1 -0<br />
included header mutex.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/12/14 15:26:42;  author: root;  state: Exp;  lines: +1 -0<br />
included header linux/semaphore.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/12/12 08:32:40;  author: root;  state: Exp;  lines: +1 -0<br />
included header linux/uaccess.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/04 11:06:13;  author: root;  state: Exp;  lines: +19 -0<br />
defined macros QUANTUMSIZE,QSETSIZE,DEVICESIZE,DATASIZE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/11/30 09:44:19;  author: root;  state: Exp;  lines: +1 -0<br />
included header linux/cdev.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/11/29 06:11:43;  author: root;  state: Exp;  lines: +1 -1<br />
slab.h corrected to linux/slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/29 05:59:49;  author: root;  state: Exp;  lines: +1 -0<br />
included headerfile slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/28 03:58:27;  author: root;  state: Exp;  lines: +1 -1<br />
the  expansion of macro COUNT was updated<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/28 03:32:38;  author: root;  state: Exp;  lines: +1 -0<br />
included header linux/kdev_t.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/28 01:30:48;  author: root;  state: Exp;  lines: +1 -0<br />
included header moduleparam.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/27 09:39:22;  author: root;  state: Exp;  lines: +2 -1<br />
defined macro MINORNO and COUNT<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/27 08:01:36;  author: root;  state: Exp;  lines: +2 -1<br />
included header linux/init.h<br />
included header file linux/fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/27 06:11:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/init.c,v<br />
Working file: init.c<br />
head: 1.42<br />
branch:<br />
locks: strict<br />
root: 1.42<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 42;    selected revisions: 42<br />
description:<br />
This is the Initialization program for device module<br />
&#8216;<br />
defined initialization function<br />
Registering the driver using register_chrdev<br />
initialized module using module_init<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42    locked by: root;<br />
date: 2014/12/17 03:45:35;  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: 2014/12/15 02:25:29;  author: root;  state: Exp;  lines: +2 -1<br />
intialized comp with init_completion()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2014/12/14 20:23:57;  author: root;  state: Exp;  lines: +3 -2<br />
initialized mutex with mutex_init()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2014/12/14 15:27:43;  author: root;  state: Exp;  lines: +4 -1<br />
implemented sema_init() to initialize the semaphore<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2014/12/09 18:04:41;  author: root;  state: Exp;  lines: +6 -6<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2014/12/09 17:51:00;  author: root;  state: Exp;  lines: +2 -2<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2014/12/04 11:07:33;  author: root;  state: Exp;  lines: +8 -3<br />
defined variable qntm_s,qset_s,dev_s,data_s<br />
and gave value to them<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2014/12/03 15:23:14;  author: root;  state: Exp;  lines: +1 -1<br />
declared local variable lv<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2014/12/03 15:21:39;  author: root;  state: Exp;  lines: +38 -28<br />
no of devices gave in run time as module parameter<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2014/12/02 04:12:28;  author: root;  state: Exp;  lines: +4 -3<br />
loaded the valu of dev into sculldev-&gt;c-dev.dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2014/12/01 18:42:59;  author: root;  state: Exp;  lines: +2 -2<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2014/12/01 18:30:16;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2014/12/01 18:28:15;  author: root;  state: Exp;  lines: +1 -1<br />
cheking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2014/12/01 18:06:40;  author: root;  state: Exp;  lines: +2 -2<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2014/12/01 18:03:22;  author: root;  state: Exp;  lines: +4 -4<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2014/12/01 17:54:55;  author: root;  state: Exp;  lines: +47 -17<br />
included header file_opr.h<br />
implemented cdev_init and cdev_add<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2014/12/01 15:57:13;  author: root;  state: Exp;  lines: +5 -19<br />
removed register_chrdev_region<br />
COUNT is changed to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/12/01 15:40:56;  author: root;  state: Exp;  lines: +1 -1<br />
the static int nod changed to int nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/12/01 15:26:14;  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: 2014/12/01 15:22:09;  author: root;  state: Exp;  lines: +6 -1<br />
checked the macro __func__ and __FILE__<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2014/11/29 06:25:30;  author: root;  state: Exp;  lines: +45 -39<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2014/11/29 06:12:51;  author: root;  state: Exp;  lines: +1 -1<br />
local variable i was declared<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2014/11/29 06:04:30;  author: root;  state: Exp;  lines: +14 -2<br />
defined structure pointer variable sculldev<br />
allocated memory for sculldev pointer using kmalloc<br />
clear the memory of sculldev by filling null using memset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2014/11/29 03:52:43;  author: root;  state: Exp;  lines: +2 -2<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/11/28 04:06:08;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/11/28 04:03:24;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/11/28 03:52:35;  author: root;  state: Exp;  lines: +3 -3<br />
correcting variable name nodi to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/11/28 03:50:54;  author: root;  state: Exp;  lines: +4 -0<br />
checking for re registration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/11/28 03:40:59;  author: root;  state: Exp;  lines: +1 -0<br />
given alias<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/11/28 03:39:18;  author: root;  state: Exp;  lines: +1 -1<br />
corrected majorno in MKDEV<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/11/28 03:33:12;  author: root;  state: Exp;  lines: +32 -13<br />
implemented MKDEV macro<br />
Implemented register_chrdev_region() for checking the re registration attempt for our driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/11/28 02:07:02;  author: root;  state: Exp;  lines: +2 -1<br />
module_param implemented before init function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/11/28 02:00:18;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/11/28 01:57:01;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/11/28 01:39:38;  author: root;  state: Exp;  lines: +2 -2<br />
removed defination of variable nod becase we give value of nod with the insmod command<br />
printf was corrected to printk<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/28 01:32:07;  author: root;  state: Exp;  lines: +5 -1<br />
defined nod variable<br />
implemented macro module_init to fetch module parameters and cheacked<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/27 10:34:55;  author: root;  state: Exp;  lines: +1 -1<br />
defined minorno<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/27 10:32:35;  author: root;  state: Exp;  lines: +2 -2<br />
MAJORNO and MINORNO corrected to MAJOR and MINOR<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/27 10:21:08;  author: root;  state: Exp;  lines: +6 -1<br />
extract majorno and minorno from dev_t dev using macro MAJORNO and MINORNO respectively<br />
minorno was defined<br />
printed majorno and minorno<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/27 09:51:08;  author: root;  state: Exp;  lines: +1 -1<br />
corrected type of dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/27 09:41:42;  author: root;  state: Exp;  lines: +19 -7<br />
removed struct file_operations<br />
removed register_chrdev()<br />
defined dev<br />
registering module using alloc_chrdev_region<br />
returned the value of alloc_chrdev_region to variable ret<br />
And checked registration successful or not<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/27 06:15:26;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/exit.c,v<br />
Working file: exit.c<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 clean up module for devices<br />
&#8216;<br />
defined clean_up function<br />
unregistering the driver using unregister_chrdev<br />
cleaning up the module using module_exit<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13    locked by: root;<br />
date: 2014/12/09 18:05:46;  author: root;  state: Exp;  lines: +2 -1<br />
declared lv<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/12/09 18:04:47;  author: root;  state: Exp;  lines: +2 -2<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/12/09 17:51:05;  author: root;  state: Exp;  lines: +1 -1<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/04 11:38:18;  author: root;  state: Exp;  lines: +1 -1<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/12/01 17:57:34;  author: root;  state: Exp;  lines: +6 -0<br />
iimplemented cdev_del()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/01 16:18:00;  author: root;  state: Exp;  lines: +1 -1<br />
checking sizeof sculldev after kfree<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/01 16:15:58;  author: root;  state: Exp;  lines: +6 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/01 16:11:28;  author: root;  state: Exp;  lines: +20 -1<br />
sculldev pointer was checked for null after kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/01 15:46:14;  author: root;  state: Exp;  lines: +1 -1<br />
checked for the value of nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/01 15:33:34;  author: root;  state: Exp;  lines: +1 -1<br />
COUNT changed by nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/29 06:09:41;  author: root;  state: Exp;  lines: +1 -0<br />
memory of sculldev freed by kfree()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/27 09:46:50;  author: root;  state: Exp;  lines: +3 -2<br />
removed unregister_chrdev()<br />
unregistering module by unregister_chrdev_region()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/27 06:18:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/read_dev.c,v<br />
Working file: read_dev.c<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 />
This is driver routine for read<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12    locked by: root;<br />
date: 2014/12/17 03:50:38;  author: root;  state: Exp;  lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/12/15 02:28:04;  author: root;  state: Exp;  lines: +1 -1<br />
corrected argument of complete()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/15 02:26:51;  author: root;  state: Exp;  lines: +6 -4<br />
implemented complete()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/12/14 20:25:31;  author: root;  state: Exp;  lines: +7 -3<br />
unlocked the mutex by mutex_unlock()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/14 16:53:06;  author: root;  state: Exp;  lines: +4 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/14 15:30:39;  author: root;  state: Exp;  lines: +1 -1<br />
corrected the argument of up<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/14 15:29:11;  author: root;  state: Exp;  lines: +1 -1<br />
implemented up() to unlock the semaphore<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/14 15:12:35;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/14 05:42:18;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/14 05:05:10;  author: root;  state: Exp;  lines: +30 -0<br />
implemented copy_to_user<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/03 20:00:19;  author: root;  state: Exp;  lines: +2 -2<br />
corrected<br />
type casted size to int<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/03 19:34:35;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/write_dev.c,v<br />
Working file: write_dev.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 driver routine for write<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20    locked by: root;<br />
date: 2014/12/17 03:50:32;  author: root;  state: Exp;  lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2014/12/15 02:26:21;  author: root;  state: Exp;  lines: +4 -2<br />
implemented wait_for_completion()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/12/14 20:25:04;  author: root;  state: Exp;  lines: +8 -5<br />
locked the mutex by mutex_lock()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/12/14 16:52:57;  author: root;  state: Exp;  lines: +6 -3<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/12/14 15:51:34;  author: root;  state: Exp;  lines: +3 -2<br />
return value of down_interruptible() captured in sem_ret variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/12/14 15:28:14;  author: root;  state: Exp;  lines: +2 -0<br />
implemented down_interruptible() to lock the semaphore<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/12/14 05:52:41;  author: root;  state: Exp;  lines: +2 -2<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/12/14 05:11:57;  author: root;  state: Exp;  lines: +3 -1<br />
quantum declared as global variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/12/14 05:05:00;  author: root;  state: Exp;  lines: +62 -10<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/12/12 08:33:49;  author: root;  state: Exp;  lines: +36 -7<br />
implemented function write_in_quantum<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/09 20:34:31;  author: root;  state: Exp;  lines: +3 -3<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/12/09 20:00:59;  author: root;  state: Exp;  lines: +73 -9<br />
implemented create_quantum to create required number of quantum<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/09 19:00:50;  author: root;  state: Exp;  lines: +1 -1<br />
corrected syntax error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/09 18:58:58;  author: root;  state: Exp;  lines: +2 -2<br />
corrected variable<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/09 18:56:36;  author: root;  state: Exp;  lines: +49 -4<br />
imlemented create_qsetarr to create qsetarray<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/09 17:48:30;  author: root;  state: Exp;  lines: +4 -4<br />
corrected prototype of create_qset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/09 17:46:08;  author: root;  state: Exp;  lines: +4 -2<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/09 17:35:06;  author: root;  state: Exp;  lines: +93 -3<br />
calculated no of scullqset required<br />
implemented create_qset()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/03 19:59:46;  author: root;  state: Exp;  lines: +1 -1<br />
type casted size to int<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/03 19:33:55;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/file_opr.h,v<br />
Working file: file_opr.h<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 the header file for file_operations<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4    locked by: root;<br />
date: 2014/12/03 19:38:14;  author: root;  state: Exp;  lines: +3 -2<br />
write system call mapped to write_dev routine<br />
read system call mapped to read_dev routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/02 01:07:20;  author: root;  state: Exp;  lines: +3 -2<br />
open system call mapped to driver routine<br />
open_dev and release(close) system call mapped to release_dev routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/01 18:03:07;  author: root;  state: Exp;  lines: +1 -0<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 17:54:55;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/trim_dev.c,v<br />
Working file: trim_dev.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 program to trim the length of the device to 0<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4    locked by: root;<br />
date: 2014/12/17 03:48:48;  author: root;  state: Exp;  lines: +1 -1<br />
added second argument of type struct file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/14 05:04:49;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/03 17:21:30;  author: root;  state: Exp;  lines: +1 -1<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/03 16:51:42;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/release_dev.c,v<br />
Working file: release_dev.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 driver routine to map system call release(close)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/12/14 20:24:50;  author: root;  state: Exp;  lines: +3 -0<br />
checking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/02 01:21:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/open_dev.c,v<br />
Working file: open_dev.c<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 routine to map open system call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9    locked by: root;<br />
date: 2014/12/17 03:46:11;  author: root;  state: Exp;  lines: +2 -1<br />
added filep in argument of trim_dev calling<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/14 20:24:26;  author: root;  state: Exp;  lines: +3 -6<br />
cheking<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/14 17:09:17;  author: root;  state: Exp;  lines: +2 -2<br />
corrected reti to ret<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/14 17:08:01;  author: root;  state: Exp;  lines: +2 -2<br />
declared local variable sem-ret<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/14 17:06:21;  author: root;  state: Exp;  lines: +7 -1<br />
semaphore implemented in open_dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/03 17:20:29;  author: root;  state: Exp;  lines: +1 -0<br />
corrected<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/03 17:14:34;  author: root;  state: Exp;  lines: +11 -2<br />
checked for O_WRONLY or not<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/02 01:23:38;  author: root;  state: Exp;  lines: +2 -1<br />
return statement included<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/02 01:21:14;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/rcs-of-character-device-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
