+10
-5
drivers/i2c/i2c-dev.c
+10
-5
drivers/i2c/i2c-dev.c
···
668
668
i2c_dev->dev.class = i2c_dev_class;
669
669
i2c_dev->dev.parent = &adap->dev;
670
670
i2c_dev->dev.release = i2cdev_dev_release;
671
-
dev_set_name(&i2c_dev->dev, "i2c-%d", adap->nr);
671
+
672
+
res = dev_set_name(&i2c_dev->dev, "i2c-%d", adap->nr);
673
+
if (res)
674
+
goto err_put_i2c_dev;
672
675
673
676
res = cdev_device_add(&i2c_dev->cdev, &i2c_dev->dev);
674
-
if (res) {
675
-
put_i2c_dev(i2c_dev, false);
676
-
return res;
677
-
}
677
+
if (res)
678
+
goto err_put_i2c_dev;
678
679
679
680
pr_debug("adapter [%s] registered as minor %d\n", adap->name, adap->nr);
680
681
return 0;
682
+
683
+
err_put_i2c_dev:
684
+
put_i2c_dev(i2c_dev, false);
685
+
return res;
681
686
}
682
687
683
688
static int i2cdev_detach_adapter(struct device *dev, void *dummy)