|
@@ -168,7 +168,8 @@ static int __devinit lms283gf05_probe(struct spi_device *spi)
|
|
|
goto err;
|
|
|
}
|
|
|
|
|
|
- st = kzalloc(sizeof(struct lms283gf05_state), GFP_KERNEL);
|
|
|
+ st = devm_kzalloc(&spi->dev, sizeof(struct lms283gf05_state),
|
|
|
+ GFP_KERNEL);
|
|
|
if (st == NULL) {
|
|
|
dev_err(&spi->dev, "No memory for device state\n");
|
|
|
ret = -ENOMEM;
|
|
@@ -178,7 +179,7 @@ static int __devinit lms283gf05_probe(struct spi_device *spi)
|
|
|
ld = lcd_device_register("lms283gf05", &spi->dev, st, &lms_ops);
|
|
|
if (IS_ERR(ld)) {
|
|
|
ret = PTR_ERR(ld);
|
|
|
- goto err2;
|
|
|
+ goto err;
|
|
|
}
|
|
|
|
|
|
st->spi = spi;
|
|
@@ -193,8 +194,6 @@ static int __devinit lms283gf05_probe(struct spi_device *spi)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
-err2:
|
|
|
- kfree(st);
|
|
|
err:
|
|
|
if (pdata != NULL)
|
|
|
gpio_free(pdata->reset_gpio);
|
|
@@ -212,8 +211,6 @@ static int __devexit lms283gf05_remove(struct spi_device *spi)
|
|
|
if (pdata != NULL)
|
|
|
gpio_free(pdata->reset_gpio);
|
|
|
|
|
|
- kfree(st);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|