device_create() is race-prone, so use the race-free
device_create_drvdata() instead as device_create() is going away.
Cc: Mark M. Hoffman <mhoffman@lightlink.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
                return ERR_PTR(err);
 
        id = id & MAX_ID_MASK;
-       hwdev = device_create(hwmon_class, dev, MKDEV(0,0), HWMON_ID_FORMAT, id);
+       hwdev = device_create_drvdata(hwmon_class, dev, MKDEV(0, 0), NULL,
+                                     HWMON_ID_FORMAT, id);
 
        if (IS_ERR(hwdev)) {
                spin_lock(&idr_lock);