[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dazuko-devel] dazuko 2.1.0-pre7 doesn't work under 2.6.13-rc6

From: Gerhard Sittig
Subject: Re: [Dazuko-devel] dazuko 2.1.0-pre7 doesn't work under 2.6.13-rc6
Date: Tue, 9 Aug 2005 10:06:37 +0200
User-agent: Mutt/1.4.1i-ja.1

* Dirk Vornheder <address@hidden> [2005-08-08 20:14]:
> dazuko 2.1.0-pre7 doesn't work under 2.6.13-rc6:
> /privat/kernel/dazuko-2.1.0-pre7/dazuko_linux26.c:976: warning: implicit 
> declaration of function `class_simple_destroy'
>   LD [M]  /privat/kernel/dazuko-2.1.0-pre7/dazuko.o
>   Building modules, stage 2.
> *** Warning: 
> "class_simple_create" [/privat/kernel/dazuko-2.1.0-pre7/dazuko.ko] undefined!
> *** Warning: 
> "class_simple_device_remove" [/privat/kernel/dazuko-2.1.0-pre7/dazuko.ko] 
> undefined!
> *** Warning: 
> "class_simple_destroy" [/privat/kernel/dazuko-2.1.0-pre7/dazuko.ko] 
> undefined!
> *** Warning: 
> "class_simple_device_add" [/privat/kernel/dazuko-2.1.0-pre7/dazuko.ko] 
> undefined!
>   CC      /privat/kernel/dazuko-2.1.0-pre7/dazuko.mod.o
>   LD [M]  /privat/kernel/dazuko-2.1.0-pre7/dazuko.ko
> make[1]: Leaving directory `/privat/kernel/linux-2.6.13-rc5'
> touch dummy_rule

disclaimer: I don't speak for my employer here, I have my own mind

I don't know what drove the people to rename a struct every(!) driver
for Linux 2.6 needs.  In the middle of a 2.6 line.  There is no reason
to see what made this necessary, I hope it was not boredom ... :(  And
on top it would have rang alarm bells in my mind to use a name like
"class" for a struct.  What are these people smoking?

background: "somebody" renamed "struct simple_class" to "struct class"
and changed the function names to allocate and release this data
structure (without changing the interface at all).

You need to change the variable declaration and the associated
function calls in dazuko_linux26.c.  This makes Dazuko compile again
against 2.6.13 kernels.  Of couse it breaks builds on kernels up to
2.6.12.  So we end up with another #ifdef case.  Great job!

Can somebody closer to the Linux kernel development tell what was the
reason for this nonsense change?  Which breaks every third party
driver out there for no obvious reason.  While gaining absolutely
nothing.  I'm really curious ...

--- dazuko_linux26.c
+++ dazuko_linux26.c    2005/08/05 12:20:01
@@ -49,7 +49,7 @@
 int linux_dazuko_device_ioctl(struct inode *inode, struct file *file, unsigned 
int cmd, unsigned long param);
 int linux_dazuko_device_release(struct inode *, struct file *);
-static struct class_simple *dazuko_class = NULL;
+static struct class *dazuko_class = NULL;
 static struct vfsmount  *orig_rootmnt = NULL;
 static struct dentry    *orig_root = NULL;
@@ -960,8 +960,8 @@
        devfs_mk_cdev(MKDEV(dev_major, 0), S_IFCHR | S_IRUSR | S_IWUSR, 
-       dazuko_class = class_simple_create(THIS_MODULE, "dazuko");
-       class_simple_device_add(dazuko_class, MKDEV(dev_major, 0), NULL, 
+       dazuko_class = class_create(THIS_MODULE, "dazuko");
+       class_device_create(dazuko_class, MKDEV(dev_major, 0), NULL, "dazuko");
        return 0;
@@ -972,8 +972,8 @@
-       class_simple_device_remove(MKDEV(dev_major, 0));
-       class_simple_destroy(dazuko_class);
+       class_device_destroy(dazuko_class, MKDEV(dev_major, 0));
+       class_destroy(dazuko_class);
 #ifndef DAZUKO_FIST

virtually yours                                     Gerhard Sittig
pgp fingerprint AF29 3CD2 A531 F5A8 5F42  CB9A 1B7F 59F8 BA7A 9EE5
Gerhard Sittig
Software Engineer

H+BEDV Datentechnik GmbH
Lindauer Strasse 21, 88069 Tettnang, Germany
tel +49 (0) 7542-500500, fax +49 (0) 7542-500576
<mailto:address@hidden> <http://www.antivir.de>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]