leds: convert LP3944 LED driver to devm_kzalloc()
authorBryan Wu <bryan.wu@canonical.com>
Tue, 3 Jul 2012 05:04:32 +0000 (13:04 +0800)
committerBryan Wu <bryan.wu@canonical.com>
Mon, 23 Jul 2012 23:52:37 +0000 (07:52 +0800)
Cc: Antonio Ospite <ospite@studenti.unina.it>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
drivers/leds/leds-lp3944.c

index b8f9f0a..c298f7d 100644 (file)
@@ -393,7 +393,8 @@ static int __devinit lp3944_probe(struct i2c_client *client,
                return -ENODEV;
        }
 
-       data = kzalloc(sizeof(struct lp3944_data), GFP_KERNEL);
+       data = devm_kzalloc(&client->dev, sizeof(struct lp3944_data),
+                       GFP_KERNEL);
        if (!data)
                return -ENOMEM;
 
@@ -403,10 +404,8 @@ static int __devinit lp3944_probe(struct i2c_client *client,
        mutex_init(&data->lock);
 
        err = lp3944_configure(client, data, lp3944_pdata);
-       if (err < 0) {
-               kfree(data);
+       if (err < 0)
                return err;
-       }
 
        dev_info(&client->dev, "lp3944 enabled\n");
        return 0;
@@ -431,8 +430,6 @@ static int __devexit lp3944_remove(struct i2c_client *client)
                        break;
                }
 
-       kfree(data);
-
        return 0;
 }