Merge branch 'parisc-4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[cascardo/linux.git] / drivers / mfd / dm355evm_msp.c
index 270e19c..86eca61 100644 (file)
@@ -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)