|
|
@@ -209,7 +209,7 @@ static struct device *add_child(struct i2c_client *client, const char *name,
|
|
|
status = platform_device_add_data(pdev, pdata, pdata_len);
|
|
|
if (status < 0) {
|
|
|
dev_dbg(&pdev->dev, "can't add platform_data\n");
|
|
|
- goto err;
|
|
|
+ goto put_device;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -222,19 +222,20 @@ static struct device *add_child(struct i2c_client *client, const char *name,
|
|
|
status = platform_device_add_resources(pdev, &r, 1);
|
|
|
if (status < 0) {
|
|
|
dev_dbg(&pdev->dev, "can't add irq\n");
|
|
|
- goto err;
|
|
|
+ goto put_device;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
status = platform_device_add(pdev);
|
|
|
+ if (status)
|
|
|
+ goto put_device;
|
|
|
|
|
|
-err:
|
|
|
- if (status < 0) {
|
|
|
- platform_device_put(pdev);
|
|
|
- dev_err(&client->dev, "can't add %s dev\n", name);
|
|
|
- return ERR_PTR(status);
|
|
|
- }
|
|
|
return &pdev->dev;
|
|
|
+
|
|
|
+put_device:
|
|
|
+ platform_device_put(pdev);
|
|
|
+ dev_err(&client->dev, "failed to add device %s\n", name);
|
|
|
+ return ERR_PTR(status);
|
|
|
}
|
|
|
|
|
|
static int add_children(struct i2c_client *client)
|