使用mdev自動建立多個major相同的裝置節點

2021-06-09 19:24:24 字數 1844 閱讀 7435

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include module_license("gpl");

module_author("liuchang");

#define beep_name "beep"

#define dev_num 5

struct class * class;

struct device * devices[dev_num];

#define magic 'b'

#define start_beep _io(magic,0)

#define stop_beep _io(magic,1)

static struct cdev beep_dev;

static ssize_t beep_read(struct file * fp,char __user * buffer,size_t count,loff_t * l)

static ssize_t beep_write(struct file * fp,const char __user * buffer,size_t count,loff_t * l)

static int beep_open(struct inode * ip,struct file *fp)

static int beep_release(struct inode * ip,struct file *fp)

static void start_beep()

static void stop_beep()

static int beep_ioctl(struct inode * ip,struct file *fp,unsigned int cmd,unsigned long count)

case stop_beep :

default: }

return 0;

}static struct file_operations fo = ;

static int beep_major = 0;

module_param(beep_major,int,0444);

static int __init beep_init()

else

printk(kern_emerg"major is %d\n",beep_major);

//init cdev

cdev_init(&beep_dev,&fo);

beep_dev.owner = this_module;

cdev_add(&beep_dev,dev,dev_num);

// class is like a container of devices--------------

// class相當於乙個容器,可以存放多個型別相同的device

class = class_create( this_module,"beep_class");

for( i=0;i//then /sys/class/beep_class/beepn directories created

return 0;

}static void __exit beep_exit()

class_destroy( class);

unregister_chrdev_region(dev,2);

}module_init(beep_init);

module_exit(beep_exit);

mdev 自動建立裝置結點

自動建立裝置檔案 基本原理 驅動程式提供資訊 裝置檔名 裝置號 mdev會根據驅動提供的資訊自動建立裝置檔案 class create device create mdev是busybox自帶的乙個簡化版的udev 作用是在系統啟動和熱插拔 或動態載入驅動程式時,自動產生驅動程式所需的節點檔案,在檔...

mini2440 使用mdev建立裝置節點問題

下面是這篇文件部分內容 here s a typical code snippet from the init script 0 mount t proc proc proc 1 mount t sysfs sysfs sys 2 echo bin mdev proc sys kernel hotp...

使用sphinx自動建立API文件(一)

建立test demo為根目錄,下面分別建立doc和src資料夾。doc 之後用來儲存生成的 html 檔案和相關配置 src 源 python 檔案 src下面的 demo 檔案分別有如下內容 demo1 class demo1 english demo1.defdemo1 self,arg1 s...