[PATCH] devfs (2/7) - minor miscdev changes

Christoph Hellwig (hch@lst.de)
Fri, 18 Apr 2003 18:12:50 +0200


Make sure the first argument to devfs_register is zero.

diff -Nru a/drivers/char/misc.c b/drivers/char/misc.c
--- a/drivers/char/misc.c Fri Apr 18 15:56:44 2003
+++ b/drivers/char/misc.c Fri Apr 18 15:56:44 2003
@@ -166,8 +166,8 @@

int misc_register(struct miscdevice * misc)
{
- static devfs_handle_t devfs_handle, dir;
struct miscdevice *c;
+ char buf[256];

if (misc->next || misc->prev)
return -EBUSY;
@@ -195,14 +195,16 @@
}
if (misc->minor < DYNAMIC_MINORS)
misc_minors[misc->minor >> 3] |= 1 << (misc->minor & 7);
- if (!devfs_handle)
- devfs_handle = devfs_mk_dir("misc");
- dir = strchr (misc->name, '/') ? NULL : devfs_handle;
- misc->devfs_handle =
- devfs_register (dir, misc->name, DEVFS_FL_NONE,
- MISC_MAJOR, misc->minor,
- S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP,
- misc->fops, NULL);
+
+
+ /* yuck, yet another stupid special-casing. We should rather
+ add ->devfs_name to avoid this mess. */
+ snprintf(buf, sizeof(buf), strchr(misc->name, '/') ?
+ "%s" : "misc/%s", misc->name);
+ misc->devfs_handle = devfs_register(NULL, buf, 0,
+ MISC_MAJOR, misc->minor,
+ S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP,
+ misc->fops, NULL);

/*
* Add it to the front, so that later devices can "override"
-
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/