mfd: tps65912: Convert to managed resources for allocating memory
authorLee Jones <lee.jones@linaro.org>
Thu, 23 May 2013 15:25:02 +0000 (16:25 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 13 Jun 2013 10:11:39 +0000 (12:11 +0200)
Saves on code and simplifies the driver, as these resources are now
tracked and freed automatically when the driver is realised.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/tps65912-core.c
drivers/mfd/tps65912-i2c.c
drivers/mfd/tps65912-spi.c

index aeb8e40..479886a 100644 (file)
@@ -162,7 +162,6 @@ int tps65912_device_init(struct tps65912 *tps65912)
 err:
        kfree(init_data);
        mfd_remove_devices(tps65912->dev);
-       kfree(tps65912);
        return ret;
 }
 
@@ -170,7 +169,6 @@ void tps65912_device_exit(struct tps65912 *tps65912)
 {
        mfd_remove_devices(tps65912->dev);
        tps65912_irq_exit(tps65912);
-       kfree(tps65912);
 }
 
 MODULE_AUTHOR("Margarita Olaya <magi@slimlogic.co.uk>");
index c041f2c..6a6343e 100644 (file)
@@ -77,7 +77,8 @@ static int tps65912_i2c_probe(struct i2c_client *i2c,
 {
        struct tps65912 *tps65912;
 
-       tps65912 = kzalloc(sizeof(struct tps65912), GFP_KERNEL);
+       tps65912 = devm_kzalloc(&i2c->dev,
+                               sizeof(struct tps65912), GFP_KERNEL);
        if (tps65912 == NULL)
                return -ENOMEM;
 
index b45f460..69a5178 100644 (file)
@@ -85,7 +85,8 @@ static int tps65912_spi_probe(struct spi_device *spi)
 {
        struct tps65912 *tps65912;
 
-       tps65912 = kzalloc(sizeof(struct tps65912), GFP_KERNEL);
+       tps65912 = devm_kzalloc(&spi->dev,
+                               sizeof(struct tps65912), GFP_KERNEL);
        if (tps65912 == NULL)
                return -ENOMEM;