* [PATCH] Partial devfs support for raw IO devices
@ 2001-06-17 4:21 Chris Rankin
0 siblings, 0 replies; only message in thread
From: Chris Rankin @ 2001-06-17 4:21 UTC (permalink / raw)
To: linux-kernel
Hi,
I hacked together this quick patch to make the "master" raw IO device
appear in devfs. It seems odd that I need *both* devfs_register...()
calls but the first one only seems to make the entry appear in
/proc/devices.
The logical corollary to this patch is to make raw IO devices
magically appear in devfs as they are bound to block devices. However,
this presents namespacing issues. Would it be reasonable to assume
that they should appear in a subdirectory called /dev/rawIO, e.g.
/dev/rawIO/1
/dev/rawIO/2 ... etc?
devfsd could then provide compatibility links.
Anyway, first things first :-)
Cheers,
Chris
--- linux-2.4.5/drivers/char/raw.c.orig Sat May 26 11:58:45 2001
+++ linux-2.4.5/drivers/char/raw.c Sat Jun 16 20:54:10 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...)
@@ -28,6 +29,7 @@
} raw_device_data_t;
static raw_device_data_t raw_devices[256];
+static const char RAW_DEVICE_NAME[] = "raw";
static ssize_t rw_raw_dev(int rw, struct file *, char *, size_t, loff_t *);
@@ -53,7 +55,11 @@
static int __init raw_init(void)
{
int i;
- register_chrdev(RAW_MAJOR, "raw", &raw_fops);
+ devfs_register_chrdev(RAW_MAJOR, RAW_DEVICE_NAME, &raw_fops);
+ devfs_register(NULL, RAW_DEVICE_NAME, 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);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-06-17 4:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-17 4:21 [PATCH] Partial devfs support for raw IO devices Chris Rankin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®