[PATCH 2.6 stallion.c] RFT added class support to stallion.c

From: Hanna Linder
Date: Fri Mar 19 2004 - 21:09:09 EST



Here is a patch to add class support to the Stallion multiport
serial driver.

I have verified it compiles but do not have the hardware.
If you can please verify, thanks.

Please consider for Inclusion or Testing.

Hanna
---
diff -Nrup linux-2.6.4/drivers/char/stallion.c linux-2.6.4p/drivers/char/stallion.c
--- linux-2.6.4/drivers/char/stallion.c 2004-03-10 18:55:37.000000000 -0800
+++ linux-2.6.4p/drivers/char/stallion.c 2004-03-19 17:28:08.000000000 -0800
@@ -41,6 +41,7 @@
#include <linux/init.h>
#include <linux/smp_lock.h>
#include <linux/devfs_fs_kernel.h>
+#include <linux/device.h>

#include <asm/io.h>
#include <asm/uaccess.h>
@@ -732,6 +733,8 @@ static struct file_operations stl_fsiome

/*****************************************************************************/

+static struct class_simple *stallion_class;
+
#ifdef MODULE

/*
@@ -788,12 +791,15 @@ static void __exit stallion_module_exit(
restore_flags(flags);
return;
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < 4; i++) {
devfs_remove("staliomem/%d", i);
+ class_simple_device_remove(MKDEV(STL_SIOMEMMAJOR, i));
+ }
devfs_remove("staliomem");
if ((i = unregister_chrdev(STL_SIOMEMMAJOR, "staliomem")))
printk("STALLION: failed to un-register serial memory device, "
"errno=%d\n", -i);
+ class_simple_destroy(stallion_class);

if (stl_tmpwritebuf != (char *) NULL)
kfree(stl_tmpwritebuf);
@@ -3181,10 +3187,12 @@ int __init stl_init(void)
printk("STALLION: failed to register serial board device\n");
devfs_mk_dir("staliomem");

+ stallion_class = class_simple_create(THIS_MODULE, "staliomem");
for (i = 0; i < 4; i++) {
devfs_mk_cdev(MKDEV(STL_SIOMEMMAJOR, i),
S_IFCHR|S_IRUSR|S_IWUSR,
"staliomem/%d", i);
+ class_simple_device_add(stallion_class, MKDEV(STL_SIOMEMMAJOR, i), NULL, "staliomem/%d", i);
}

stl_serial->owner = THIS_MODULE;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/