spi/tle620x: add missing device_remove_file()

This patch includes below fixes:
1. Add missing device_remove_file for dev_attr_status_show in tle62x0_remove.
2. Fix tle62x0_probe error handling:
   Currently, if the error happens when ptr > 0, gpio_attrs[0] is not
   properly remove.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
This commit is contained in:
Axel Lin 2011-05-11 20:39:05 +08:00 committed by Grant Likely
parent bc9bc72e2f
commit 80b4037033

View file

@ -283,7 +283,7 @@ static int __devinit tle62x0_probe(struct spi_device *spi)
return 0; return 0;
err_gpios: err_gpios:
for (; ptr > 0; ptr--) while (--ptr >= 0)
device_remove_file(&spi->dev, gpio_attrs[ptr]); device_remove_file(&spi->dev, gpio_attrs[ptr]);
device_remove_file(&spi->dev, &dev_attr_status_show); device_remove_file(&spi->dev, &dev_attr_status_show);
@ -301,6 +301,7 @@ static int __devexit tle62x0_remove(struct spi_device *spi)
for (ptr = 0; ptr < st->nr_gpio; ptr++) for (ptr = 0; ptr < st->nr_gpio; ptr++)
device_remove_file(&spi->dev, gpio_attrs[ptr]); device_remove_file(&spi->dev, gpio_attrs[ptr]);
device_remove_file(&spi->dev, &dev_attr_status_show);
kfree(st); kfree(st);
return 0; return 0;
} }