]> git.hungrycats.org Git - linux/commitdiff
[PATCH] raw.c devfs support
authorAndrew Morton <akpm@digeo.com>
Fri, 20 Jun 2003 15:14:04 +0000 (08:14 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 20 Jun 2003 15:14:04 +0000 (08:14 -0700)
From: Andrey Borzenkov <arvidjaar@mail.ru>

Add devfs support to raw.c.

drivers/char/raw.c

index 3080b464e9515d24a324c100ca747b750c4551ae..8aeb7cbbe9b88a33d93879cb42af477bf71769d6 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <linux/init.h>
 #include <linux/fs.h>
+#include <linux/devfs_fs_kernel.h>
 #include <linux/major.h>
 #include <linux/blkdev.h>
 #include <linux/module.h>
@@ -258,12 +259,27 @@ static struct file_operations raw_ctl_fops = {
 
 static int __init raw_init(void)
 {
+       int i;
+
        register_chrdev(RAW_MAJOR, "raw", &raw_fops);
+       devfs_mk_cdev(MKDEV(RAW_MAJOR, 0),
+                     S_IFCHR | S_IRUGO | S_IWUGO,
+                     "raw/rawctl");
+       for (i = 1; i < MAX_RAW_MINORS; i++)
+               devfs_mk_cdev(MKDEV(RAW_MAJOR, i),
+                             S_IFCHR | S_IRUGO | S_IWUGO,
+                             "raw/raw%d", i);
        return 0;
 }
 
 static void __exit raw_exit(void)
 {
+       int i;
+
+       for (i = 1; i < MAX_RAW_MINORS; i++)
+               devfs_remove("raw/raw%d", i);
+       devfs_remove("raw/rawctl");
+       devfs_remove("raw");
        unregister_chrdev(RAW_MAJOR, "raw");
 }