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