Re: [take4 1/4] kevent: Core files.

Greg KH
2006-08-05T17:57:35Z

On Sat, Aug 05, 2006 at 05:02:38PM +0400, Evgeniy Polyakov wrote:
> +static int __devinit kevent_user_init(void)
> +{
> + struct class_device *dev;
> + int err = 0;
> +
> + err = register_filesystem(&kevent_fs_type);
> + if (err)
> + panic("%s: failed to register filesystem: err=%d.\n",
> + kevent_name, err);
> +
> + kevent_mnt = kern_mount(&kevent_fs_type);
> + if (IS_ERR(kevent_mnt))
> + panic("%s: failed to mount silesystem: err=%ld.\n",
> + kevent_name, PTR_ERR(kevent_mnt));
> +
> + kevent_user_major = register_chrdev(0, kevent_name, &kevent_user_fops);
> + if (kevent_user_major < 0) {
> + printk(KERN_ERR "Failed to register \"%s\" char device: err=%d.\n",
> + kevent_name, kevent_user_major);
> + return -ENODEV;
> + }
> +
> + kevent_user_class = class_create(THIS_MODULE, "kevent");
> + if (IS_ERR(kevent_user_class)) {
> + printk(KERN_ERR "Failed to register \"%s\" class: err=%ld.\n",
> + kevent_name, PTR_ERR(kevent_user_class));
> + err = PTR_ERR(kevent_user_class);
> + goto err_out_unregister;
> + }
> +
> + dev = class_device_create(kevent_user_class, NULL,
> + MKDEV(kevent_user_major, 0), NULL, kevent_name);
> + if (IS_ERR(dev)) {
> + printk(KERN_ERR "Failed to create %d.%d class device in \"%s\" class: err=%ld.\n",
> + kevent_user_major, 0, kevent_name, PTR_ERR(dev));
> + err = PTR_ERR(dev);
> + goto err_out_class_destroy;
> + }

As you are only using 1 minor number in this code, why not just use a
miscdevice instead? It saves a bit of overhead and makes the code a
tiny bit smaller :)

thanks,

greg k-h