device create: s390: convert device_create to device_create_drvdata
Greg Kroah-Hartman [Wed, 21 May 2008 19:52:33 +0000 (12:52 -0700)]
device_create() is race-prone, so use the race-free
device_create_drvdata() instead as device_create() is going away.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

drivers/s390/char/raw3270.c
drivers/s390/char/tape_class.c
drivers/s390/char/vmur.c

index 81a96e0..c3dee90 100644 (file)
@@ -1168,17 +1168,19 @@ static int raw3270_create_attributes(struct raw3270 *rp)
        if (rc)
                goto out;
 
-       rp->clttydev = device_create(class3270, &rp->cdev->dev,
-                                    MKDEV(IBM_TTY3270_MAJOR, rp->minor),
-                                    "tty%s", rp->cdev->dev.bus_id);
+       rp->clttydev = device_create_drvdata(class3270, &rp->cdev->dev,
+                                            MKDEV(IBM_TTY3270_MAJOR, rp->minor),
+                                            NULL,
+                                            "tty%s", rp->cdev->dev.bus_id);
        if (IS_ERR(rp->clttydev)) {
                rc = PTR_ERR(rp->clttydev);
                goto out_ttydev;
        }
 
-       rp->cltubdev = device_create(class3270, &rp->cdev->dev,
-                                    MKDEV(IBM_FS3270_MAJOR, rp->minor),
-                                    "tub%s", rp->cdev->dev.bus_id);
+       rp->cltubdev = device_create_drvdata(class3270, &rp->cdev->dev,
+                                            MKDEV(IBM_FS3270_MAJOR, rp->minor),
+                                            NULL,
+                                            "tub%s", rp->cdev->dev.bus_id);
        if (!IS_ERR(rp->cltubdev))
                goto out;
 
index 6dfdb7c..12c2a5a 100644 (file)
@@ -69,10 +69,9 @@ struct tape_class_device *register_tape_dev(
        if (rc)
                goto fail_with_cdev;
 
-       tcd->class_device = device_create(tape_class, device,
-                                         tcd->char_device->dev,
-                                         "%s", tcd->device_name
-                       );
+       tcd->class_device = device_create_drvdata(tape_class, device,
+                                                 tcd->char_device->dev,
+                                                 NULL, "%s", tcd->device_name);
        rc = IS_ERR(tcd->class_device) ? PTR_ERR(tcd->class_device) : 0;
        if (rc)
                goto fail_with_cdev;
index b0ac44b..c1f352b 100644 (file)
@@ -896,8 +896,9 @@ static int ur_set_online(struct ccw_device *cdev)
                goto fail_free_cdev;
        }
 
-       urd->device = device_create(vmur_class, NULL, urd->char_device->dev,
-                                       "%s", node_id);
+       urd->device = device_create_drvdata(vmur_class, NULL,
+                                           urd->char_device->dev, NULL,
+                                           "%s", node_id);
        if (IS_ERR(urd->device)) {
                rc = PTR_ERR(urd->device);
                TRACE("ur_set_online: device_create rc=%d\n", rc);