EmbLogic's Blog

30.01.30 : Monika – Char Driver

RCS file: hello.c,v
Working file: hello.c
head: 1.17
branch:
access list:
symbolic names:
keyword substitution: kv
total revisions: 17;    selected revisions: 17
description:
Base module.
—————————-
revision 1.17
date: 2013/07/12 07:02:51;  author: user1;  state: Exp;  lines: +35 -6
Modified read() function to check for no. of bytes requested for reading to be not greater than bytes actually written
But it is actually checking for no. of quantums not to be greater than no.of quantums actually written.
—————————-
revision 1.16   locked by: user1;
date: 2013/07/11 08:09:20;  author: user1;  state: Exp;  lines: +73 -5
Implemented successfully read() function for any number of bytes using copy_to_user().
—————————-
revision 1.15
date: 2013/07/11 07:00:44;  author: user1;  state: Exp;  lines: +30 -7
Modified write() function to write in quantums from user buffer.
Implemented for any number of bytes to be written.
—————————-
revision 1.14   locked by: user1;
date: 2013/07/09 09:07:19;  author: user1;  state: Exp;  lines: +61 -21
Added creat_quantums() function.
Working fine till now.
—————————-
revision 1.13
date: 2013/07/09 08:11:40;  author: user1;  state: Exp;  lines: +56 -3
Modified the creat_qset() function to make required no. of qsets.
—————————-
revision 1.12
date: 2013/07/09 07:49:02;  author: user1;  state: Exp;  lines: +168 -1
Calculated no. of quantums, qsets, struct scullqset.
Added creat_scullqset() function.
Added creat_qset() function.
—————————-
revision 1.11
date: 2013/07/08 06:54:49;  author: user1;  state: Exp;  lines: +39 -3
Added opencount to struct sculldev.
Mapped scull_read() and scull_read().
Scull_trim function modified.
—————————-
revision 1.10
date: 2013/07/04 06:31:35;  author: user1;  state: Exp;  lines: +23 -0
Used macro container_of for mapping memory of device.
Preserved the mapping using private_data field of struct file.
Added scull_trim function for devices opened with write only.
—————————-
revision 1.9
date: 2013/07/02 07:24:47;  author: user1;  state: Exp;  lines: +1 -0
Used memset for sculldev after kmalloc.
—————————-
revision 1.8
date: 2013/07/02 07:05:06;  author: user1;  state: Exp;  lines: +14 -0
Declared scull_open() , scull_release() functions.
—————————-
revision 1.7
date: 2013/07/02 06:23:12;  author: user1;  state: Exp;  lines: +55 -24
Added definition of scull_init function for initialisation of struct sculldev.
Added scull_setup_cdev for cdev_add function.
—————————-
revision 1.6
date: 2013/07/02 05:57:06;  author: user1;  state: Exp;  lines: +15 -17
Edited major no. value and scull pointer double pointer to single pointer.
—————————-
revision 1.5
date: 2013/07/01 10:38:35;  author: user1;  state: Exp;  lines: +32 -2
Used kalloc to allocate memory to sculldev pointer variable.
Added the number of devices to the kernel device table using cdev_init,cdev_add.
Deleted them using cdev_del in cleanup code.
Free the memory using kfree.
—————————-
revision 1.4
date: 2013/07/01 08:36:32;  author: user1;  state: Exp;  lines: +23 -26
Registered device driver using alloc_chrdev_region and register_chrdev_region for 1 device.
Unregistered the driver in cleanup code using unregister_chrdev_region.
Used MAJOR , MINOR , MKDEV macros for major no. and minor no.
—————————-
revision 1.3
date: 2013/06/30 06:23:26;  author: user1;  state: Exp;  lines: +12 -1
Added register_chrdev function in initialisation_code function to register the driver.
Added unregister_chrdev in cleanup_code to unregister the driver.
—————————-
revision 1.2
date: 2013/06/30 06:08:23;  author: user1;  state: Exp;  lines: +8 -7
Added header.h file.
—————————-
revision 1.1
date: 2013/06/29 09:53:23;  author: user1;  state: Exp;
Initial revision
=============================================================================

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>