I try to write a device driver which when i load module user will write something to to my device like: For example my device file is DFILE under /dev, user will enter echo "this is my try" > /dev/DFILE
After that user will enter
cat /proc/NEWD
We expected to see what we write.

My Code is below:
What is wrong with this. How can i write to for example to /dev/DFILE :

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <asm/uaccess.h>

/*This holds information of the /proc/mycookie file */
static struct proc_dir_entry *mydeviceFile;

/*This buffer stores all the text as characters which user entered*/
static char myBuffer[100000];

/*Holds size of the buffer*/
static unsigned long myBufferSize = 0;

int procfile_read(char *buffer,char **buffer_location, off_t offset, int buffer_length, int *eof, void *data)
	int ret;
	printk(KERN_INFO "procfile_read (/proc/%s) called\n", "NEWD");
	if (offset > 0) {
		/* we have finished to read, return 0 */
		ret  = 0;
	} else {
		/* fill the buffer, return the buffer size */
		memcpy(buffer, myBuffer, myBufferSize);
		ret = myBufferSize;

	return ret;

int procfile_write(struct file *file, const char *buffer, unsigned long count,void *data)
{/* This function is called with the /proc file is written*/

	myBufferSize = count;/* get buffer size */
	if (myBufferSize > 100000 )
		myBufferSize = 100000;

	if ( copy_from_user(myBuffer, buffer, myBufferSize) )/*Stores all characters of the cookie list in myBuffer*/
		return -EFAULT;

	return myBufferSize;

int init_module()
	/*When the module is loaded, this function is called and creates the /proc/NEWD*/
	mydeviceFile = create_proc_entry("NEWD", 0644, NULL);
	if (mydeviceFile == NULL)
		remove_proc_entry("NEWD", &proc_root);
		printk(KERN_ALERT "Error:Module cannot be initialized /proc/%s\n","NEWD");
		return -ENOMEM;

	mydeviceFile->write_proc 	= procfile_write;
	mydeviceFile->owner 		= THIS_MODULE;
	mydeviceFile->mode 	  	= S_IFREG | S_IRUGO;
	mydeviceFile->uid 	  	= 0;
	mydeviceFile->gid 	  	= 0;
	mydeviceFile->size 	 	= 100000;

	printk(KERN_INFO "/proc/%s is created\n", "NEWD");
	return 0;

/*This function is called when the module is unloaded*/
void cleanup_module() 
	remove_proc_entry("NEWD", &proc_root);
	printk(KERN_INFO "/proc/%s is removed\n", "NEWD");