PATCH: Basic devfs support for raw IO

Chris Rankin (rankinc@pacbell.net)
Sun, 09 Sep 2001 21:04:41 -0700 (PDT)


Hi,
I have written a small patch to create a /dev/rawctl device node and a
/dev/raw directory using devfs. Any feedback would be welcome - it
certainly seems to work on my box.

Cheers,
Chris

--- drivers/char/raw.c.orig Wed Jun 27 17:10:55 2001
+++ drivers/char/raw.c Sat Sep 1 14:54:43 2001
@@ -15,6 +15,7 @@
#include <linux/raw.h>
#include <linux/capability.h>
#include <linux/smp_lock.h>
+#include <linux/devfs_fs_kernel.h>
#include <asm/uaccess.h>

#define dprintk(x...)
@@ -53,7 +54,24 @@
static int __init raw_init(void)
{
int i;
- register_chrdev(RAW_MAJOR, "raw", &raw_fops);
+
+ if (devfs_register_chrdev(RAW_MAJOR, "raw", &raw_fops) != 0) {
+ printk(KERN_ERR "Unable to get major device %d for raw block devices",
+ RAW_MAJOR);
+ } else {
+ /*
+ * Make a directory for raw devices to go in ...
+ */
+ devfs_mk_dir(NULL, "raw", NULL);
+
+ /*
+ * Make the "control" device node for raw devices ...
+ */
+ devfs_register(NULL, "rawctl", DEVFS_FL_DEFAULT,
+ RAW_MAJOR, 0,
+ S_IFCHR | S_IRUSR | S_IWUSR,
+ &raw_fops, NULL);
+ }

for (i = 0; i < 256; i++)
init_MUTEX(&raw_devices[i].mutex);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/