]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/vmlogrdr.c
Merge branch 'linux-2.6'
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / vmlogrdr.c
index 12f7a4ce82c121b7500b6cb20675e25392a72fe4..2c2428cc05d866efe26b9c288331ab6459afdeb0 100644 (file)
@@ -74,7 +74,7 @@ struct vmlogrdr_priv_t {
        int dev_in_use; /* 1: already opened, 0: not opened*/
        spinlock_t priv_lock;
        struct device  *device;
-       struct class_device  *class_device;
+       struct device  *class_device;
        int autorecording;
        int autopurge;
 };
@@ -683,7 +683,7 @@ static int vmlogrdr_register_driver(void)
        /* Register with iucv driver */
        ret = iucv_register(&vmlogrdr_iucv_handler, 1);
        if (ret) {
-               printk (KERN_ERR "vmlogrdr: failed to register with"
+               printk (KERN_ERR "vmlogrdr: failed to register with "
                        "iucv driver\n");
                goto out;
        }
@@ -762,12 +762,10 @@ static int vmlogrdr_register_device(struct vmlogrdr_priv_t *priv)
                device_unregister(dev);
                return ret;
        }
-       priv->class_device = class_device_create(
-                               vmlogrdr_class,
-                               NULL,
-                               MKDEV(vmlogrdr_major, priv->minor_num),
-                               dev,
-                               "%s", dev->bus_id );
+       priv->class_device = device_create_drvdata(vmlogrdr_class, dev,
+                                                  MKDEV(vmlogrdr_major,
+                                                        priv->minor_num),
+                                                  priv, "%s", dev->bus_id);
        if (IS_ERR(priv->class_device)) {
                ret = PTR_ERR(priv->class_device);
                priv->class_device=NULL;
@@ -775,7 +773,6 @@ static int vmlogrdr_register_device(struct vmlogrdr_priv_t *priv)
                device_unregister(dev);
                return ret;
        }
-       dev->driver_data = priv;
        priv->device = dev;
        return 0;
 }
@@ -783,8 +780,7 @@ static int vmlogrdr_register_device(struct vmlogrdr_priv_t *priv)
 
 static int vmlogrdr_unregister_device(struct vmlogrdr_priv_t *priv)
 {
-       class_device_destroy(vmlogrdr_class,
-                            MKDEV(vmlogrdr_major, priv->minor_num));
+       device_destroy(vmlogrdr_class, MKDEV(vmlogrdr_major, priv->minor_num));
        if (priv->device != NULL) {
                sysfs_remove_group(&priv->device->kobj, &vmlogrdr_attr_group);
                device_unregister(priv->device);
@@ -861,7 +857,7 @@ static int __init vmlogrdr_init(void)
        for (i=0; i < MAXMINOR; ++i ) {
                sys_ser[i].buffer = (char *) get_zeroed_page(GFP_KERNEL);
                if (!sys_ser[i].buffer) {
-                       rc = ENOMEM;
+                       rc = -ENOMEM;
                        break;
                }
                sys_ser[i].current_position = sys_ser[i].buffer;