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

From: Christoph Hellwig (hch@lst.de)
Date: Fri Apr 18 2003 - 11:12:50 EST


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/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:24 EST