git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
drivers
/
net
/
wan
/
cosa.c
diff --git
a/drivers/net/wan/cosa.c
b/drivers/net/wan/cosa.c
index
1f95b48
..
e392ee8
100644
(file)
--- a/
drivers/net/wan/cosa.c
+++ b/
drivers/net/wan/cosa.c
@@
-79,11
+79,13
@@
\f
/* ---------- Headers, macros, data structures ---------- */
\f
/* ---------- Headers, macros, data structures ---------- */
+#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/poll.h>
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/poll.h>
#include <linux/fs.h>
+#include <linux/devfs_fs_kernel.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/errno.h>
@@
-391,6
+393,7
@@
static int __init cosa_init(void)
err = -ENODEV;
goto out;
}
err = -ENODEV;
goto out;
}
+ devfs_mk_dir("cosa");
cosa_class = class_create(THIS_MODULE, "cosa");
if (IS_ERR(cosa_class)) {
err = PTR_ERR(cosa_class);
cosa_class = class_create(THIS_MODULE, "cosa");
if (IS_ERR(cosa_class)) {
err = PTR_ERR(cosa_class);
@@
-399,6
+402,13
@@
static int __init cosa_init(void)
for (i=0; i<nr_cards; i++) {
class_device_create(cosa_class, NULL, MKDEV(cosa_major, i),
NULL, "cosa%d", i);
for (i=0; i<nr_cards; i++) {
class_device_create(cosa_class, NULL, MKDEV(cosa_major, i),
NULL, "cosa%d", i);
+ err = devfs_mk_cdev(MKDEV(cosa_major, i),
+ S_IFCHR|S_IRUSR|S_IWUSR,
+ "cosa/%d", i);
+ if (err) {
+ class_device_destroy(cosa_class, MKDEV(cosa_major, i));
+ goto out_chrdev;
+ }
}
err = 0;
goto out;
}
err = 0;
goto out;
@@
-416,9
+426,12
@@
static void __exit cosa_exit(void)
int i;
printk(KERN_INFO "Unloading the cosa module\n");
int i;
printk(KERN_INFO "Unloading the cosa module\n");
- for (i=0; i<nr_cards; i++)
+ for (i=0; i<nr_cards; i++)
{
class_device_destroy(cosa_class, MKDEV(cosa_major, i));
class_device_destroy(cosa_class, MKDEV(cosa_major, i));
+ devfs_remove("cosa/%d", i);
+ }
class_destroy(cosa_class);
class_destroy(cosa_class);
+ devfs_remove("cosa");
for (cosa=cosa_cards; nr_cards--; cosa++) {
/* Clean up the per-channel data */
for (i=0; i<cosa->nchannels; i++) {
for (cosa=cosa_cards; nr_cards--; cosa++) {
/* Clean up the per-channel data */
for (i=0; i<cosa->nchannels; i++) {