Ok by now I have been able to fix this problem. 1) config.h has been dropped from 2.6.19 series of kernels so that was one error
2) the program was kept in a directory whose directory name had a blank space in between this was also giving me errors 3) I had tried the functions with my name rather than memory_open,memory_read,memory_release I am not clear if this type of use is wrong. On Sun, Sep 12, 2010 at 7:52 PM, Bond <[email protected]> wrote: > ============================================================================================= > > > > /* Necessary includes for device drivers */ > #include <linux/init.h> > #include <linux/config.h> > config.h has been dropped from 2.6.19 series of kernels so that was one error > #include <linux/module.h> > #include <linux/kernel.h> /* printk() */ > #include <linux/slab.h> /* kmalloc() */ > #include <linux/fs.h> /* everything... */ > #include <linux/errno.h> /* error codes */ > #include <linux/types.h> /* size_t */ > #include <linux/proc_fs.h> > #include <linux/fcntl.h> /* O_ACCMODE */ > #include <asm/system.h> /* cli(), *_flags */ > #include <asm/uaccess.h> /* copy_from/to_user */ > > > /* Declaration of memory.c functions */ > int bond_open(struct inode *inode, struct file *filp) { return 0;}; > I had tried the functions with my name rather than memory_open,memory_read,memory_release I am not clear if this type of use is wrong. The driver is working but it if I do echo -n abcdefg > /dev/memory then on doing cat /dev/memory only last g is coming and all previous words which I gave abcdef are dropped out any idea on what might be the error.
