Merge tag 'v3.10-rc2' into drm-intel-next-queued
[firefly-linux-kernel-4.4.55.git] / drivers / gpio / gpio-max732x.c
index 1e0467ce4c375b8989e0055c26e08bb0b4b697cc..d4b51b163b039f9aa6ed93c007a3d0d56160f3e1 100644 (file)
@@ -589,7 +589,8 @@ static int max732x_probe(struct i2c_client *client,
                return -EINVAL;
        }
 
-       chip = kzalloc(sizeof(struct max732x_chip), GFP_KERNEL);
+       chip = devm_kzalloc(&client->dev, sizeof(struct max732x_chip),
+                       GFP_KERNEL);
        if (chip == NULL)
                return -ENOMEM;
        chip->client = client;
@@ -647,7 +648,6 @@ static int max732x_probe(struct i2c_client *client,
 
 out_failed:
        max732x_irq_teardown(chip);
-       kfree(chip);
        return ret;
 }
 
@@ -680,7 +680,6 @@ static int max732x_remove(struct i2c_client *client)
        if (chip->client_dummy)
                i2c_unregister_device(chip->client_dummy);
 
-       kfree(chip);
        return 0;
 }