#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
static unsigned int hello_major;
static int hello_open (struct inode *inode, struct file *file)
{
return 0;
}
static ssize_t hello_read (struct file *file, char __user *buf, size_t count, loff_t *opps)
{
return 0;
}
static ssize_t hello_write (struct file *file, const char __user *buf, size_t count, loff_t *opps)
{
return 0;
}
struct file_operations hello_fops{
.owner = THIS_MODULE,
.open = hello_open,
.write = hello_write,
.read = hello_read,
};
static int __init hello_init(void)
{
hello_major=register_chrdev(0, "hello", &hello_fops);
return 0;
}
static void __exit hello_exit(void)
{
unregister_chrdev(hello_major, "hello");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");