字符设备驱动例程
// cdev_module.c
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/cdev.h>
#include <linux/fs.h>
#include <linux/errno.h>
#include <asm/current.h>
#include <linux/sched.h>
static int major = 0;
static int minor = 0;
const int count = 1;
#define DEVNAME "demo"
#define DEVFILENAME "jisen"
static dev_t devnum;
static struct cdev *demop = NULL;
static struct class *mydemo_class;
//打开设备
static int demo_open(struct inode *inode,struct file *filp){
//get command and pid
printk(KERN_INFO "(%s:pid=%d),%s : %s : %d\n",current->comm,current->pid,__FILE__,__func__,__LINE__);
//get major and minor from inode
printk(KERN_INFO "(major=%d,minor=%d),%s : %s: %d\n",imajor(inode),iminor(inode),__FILE__,__func__,__LINE__);
return 0;
}
//关闭设备
static int demo_release(struct in