The devm_ functions allocate memory that is released when a driver
detaches.  This patch uses devm_kzalloc of these functions.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Cc: Dmitry Baryshkov <dbaryshkov@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
        int ret;
        struct tosa_lcd_data *data;
 
-       data = kzalloc(sizeof(struct tosa_lcd_data), GFP_KERNEL);
+       data = devm_kzalloc(&spi->dev, sizeof(struct tosa_lcd_data),
+                               GFP_KERNEL);
        if (!data)
                return -ENOMEM;
 
 
        ret = spi_setup(spi);
        if (ret < 0)
-               goto err_spi;
+               return ret;
 
        data->spi = spi;
        dev_set_drvdata(&spi->dev, data);
        gpio_free(TOSA_GPIO_TG_ON);
 err_gpio_tg:
        dev_set_drvdata(&spi->dev, NULL);
-err_spi:
-       kfree(data);
        return ret;
 }
 
 
        gpio_free(TOSA_GPIO_TG_ON);
        dev_set_drvdata(&spi->dev, NULL);
-       kfree(data);
 
        return 0;
 }