dazuko-devel
[Top][All Lists]
Advanced

[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: Dirk Vornheder
Subject: Re: [Dazuko-devel] dazuko 2.1.0-pre7 doesn't work under 2.6.13-rc6
Date: Mon, 22 Aug 2005 18:25:40 +0200
User-agent: KMail/1.8.2

> > 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.
> >   MODPOST
> > *** 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,
> DEVICE_NAME);
>
> -     dazuko_class = class_simple_create(THIS_MODULE, "dazuko");
> -     class_simple_device_add(dazuko_class, MKDEV(dev_major, 0), NULL,
> "dazuko"); +  dazuko_class = class_create(THIS_MODULE, "dazuko");
> +     class_device_create(dazuko_class, MKDEV(dev_major, 0), NULL, "dazuko");
>
>       return 0;
>  }
> @@ -972,8 +972,8 @@
>
>       devfs_remove(DEVICE_NAME);
>
> -     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
>  #ifdef NO_STACKING_SUPPORT
>
>
> virtually yours                                     Gerhard Sittig
> pgp fingerprint AF29 3CD2 A531 F5A8 5F42  CB9A 1B7F 59F8 BA7A 9EE5

The patch works.

Thanks,

Dirk




reply via email to

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