The attached diff adds devfs support to the rio500 driver, so that
/dev/usb/rio500 gets created automagically.  It was generated against
2.4.5, but probably applies fine against any recent kernel.  Comments
are welcome (but be gentle, this is my first attempt at a kernel
patch :-).

Cheers!
diff -urN linux-2.4.5.orig/drivers/usb/rio500.c linux-2.4.5/drivers/usb/rio500.c
--- linux-2.4.5.orig/drivers/usb/rio500.c       Mon Jun 18 17:10:39 2001
+++ linux-2.4.5/drivers/usb/rio500.c    Tue Jun 19 17:12:26 2001
@@ -38,6 +38,7 @@
 #include <linux/spinlock.h>
 #include <linux/usb.h>
 #include <linux/smp_lock.h>
+#include <linux/devfs_fs_kernel.h>
 
 #include "rio500_usb.h"
 
@@ -70,6 +71,7 @@
 };
 
 static struct rio_usb_data rio_instance;
+static devfs_handle_t rio500_devfs_handle;
 
 static int open_rio(struct inode *inode, struct file *file)
 {
@@ -492,6 +494,12 @@
        if (usb_register(&rio_driver) < 0)
                return -1;
 
+       rio500_devfs_handle = devfs_register(NULL, "usb/rio500",
+                                       DEVFS_FL_DEFAULT,
+                                       USB_MAJOR, RIO_MINOR,
+                                       S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | 
+S_IWGRP,
+                                       &usb_rio_fops, NULL);
+
        info(DRIVER_VERSION " " DRIVER_AUTHOR);
        info(DRIVER_DESC);
 
@@ -506,6 +514,7 @@
        rio->present = 0;
        usb_deregister(&rio_driver);
 
+       devfs_unregister(rio500_devfs_handle);
 
 }
 

PGP signature

Reply via email to