Commit 1e5467ae authored by Hanna V. Linder's avatar Hanna V. Linder Committed by Greg Kroah-Hartman

[PATCH] added class support to istallion.c

Here is a patch to add class support to the Stallion Intelligent multiport
serial driver.
parent 3efbacde
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/devfs_fs_kernel.h> #include <linux/devfs_fs_kernel.h>
#include <linux/device.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -795,6 +796,8 @@ static int stli_timeron; ...@@ -795,6 +796,8 @@ static int stli_timeron;
/*****************************************************************************/ /*****************************************************************************/
static struct class_simple *istallion_class;
#ifdef MODULE #ifdef MODULE
/* /*
...@@ -853,9 +856,12 @@ static void __exit istallion_module_exit(void) ...@@ -853,9 +856,12 @@ static void __exit istallion_module_exit(void)
return; return;
} }
put_tty_driver(stli_serial); put_tty_driver(stli_serial);
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++) {
devfs_remove("staliomem/%d", i); devfs_remove("staliomem/%d", i);
class_simple_device_remove(MKDEV(STL_SIOMEMMAJOR, i));
}
devfs_remove("staliomem"); devfs_remove("staliomem");
class_simple_destroy(istallion_class);
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem"))) if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
printk("STALLION: failed to un-register serial memory device, " printk("STALLION: failed to un-register serial memory device, "
"errno=%d\n", -i); "errno=%d\n", -i);
...@@ -5311,10 +5317,13 @@ int __init stli_init(void) ...@@ -5311,10 +5317,13 @@ int __init stli_init(void)
"device\n"); "device\n");
devfs_mk_dir("staliomem"); devfs_mk_dir("staliomem");
istallion_class = class_simple_create(THIS_MODULE, "staliomem");
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i), devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
S_IFCHR | S_IRUSR | S_IWUSR, S_IFCHR | S_IRUSR | S_IWUSR,
"staliomem/%d", i); "staliomem/%d", i);
class_simple_device_add(istallion_class, MKDEV(STL_SIOMEMMAJOR, i),
NULL, "staliomem/%d", i);
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment