aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-mcp23s08.c
diff options
context:
space:
mode:
authorabdoulaye berthe <berthe.ab@gmail.com>2014-07-12 16:30:12 -0400
committerLinus Walleij <linus.walleij@linaro.org>2014-07-22 10:39:26 -0400
commit9f5132ae82fdbb047cc187bf689a81c8cc0de7fa (patch)
tree3d5ce5c1a1ff25fdbec52416ad21eb1ad14ca25f /drivers/gpio/gpio-mcp23s08.c
parent38ed0187d2da7f219f9f84d8921b5c95b266b34b (diff)
gpio: remove all usage of gpio_remove retval in driver/gpio
Signed-off-by: abdoulaye berthe <berthe.ab@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-mcp23s08.c')
-rw-r--r--drivers/gpio/gpio-mcp23s08.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c
index fe7c0e211f9a..4fe07864fa03 100644
--- a/drivers/gpio/gpio-mcp23s08.c
+++ b/drivers/gpio/gpio-mcp23s08.c
@@ -812,16 +812,14 @@ fail:
812static int mcp230xx_remove(struct i2c_client *client) 812static int mcp230xx_remove(struct i2c_client *client)
813{ 813{
814 struct mcp23s08 *mcp = i2c_get_clientdata(client); 814 struct mcp23s08 *mcp = i2c_get_clientdata(client);
815 int status;
816 815
817 if (client->irq && mcp->irq_controller) 816 if (client->irq && mcp->irq_controller)
818 mcp23s08_irq_teardown(mcp); 817 mcp23s08_irq_teardown(mcp);
819 818
820 status = gpiochip_remove(&mcp->chip); 819 gpiochip_remove(&mcp->chip);
821 if (status == 0) 820 kfree(mcp);
822 kfree(mcp);
823 821
824 return status; 822 return 0;
825} 823}
826 824
827static const struct i2c_device_id mcp230xx_id[] = { 825static const struct i2c_device_id mcp230xx_id[] = {
@@ -966,13 +964,10 @@ static int mcp23s08_probe(struct spi_device *spi)
966 964
967fail: 965fail:
968 for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) { 966 for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
969 int tmp;
970 967
971 if (!data->mcp[addr]) 968 if (!data->mcp[addr])
972 continue; 969 continue;
973 tmp = gpiochip_remove(&data->mcp[addr]->chip); 970 gpiochip_remove(&data->mcp[addr]->chip);
974 if (tmp < 0)
975 dev_err(&spi->dev, "%s --> %d\n", "remove", tmp);
976 } 971 }
977 kfree(data); 972 kfree(data);
978 return status; 973 return status;
@@ -982,23 +977,16 @@ static int mcp23s08_remove(struct spi_device *spi)
982{ 977{
983 struct mcp23s08_driver_data *data = spi_get_drvdata(spi); 978 struct mcp23s08_driver_data *data = spi_get_drvdata(spi);
984 unsigned addr; 979 unsigned addr;
985 int status = 0;
986 980
987 for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) { 981 for (addr = 0; addr < ARRAY_SIZE(data->mcp); addr++) {
988 int tmp;
989 982
990 if (!data->mcp[addr]) 983 if (!data->mcp[addr])
991 continue; 984 continue;
992 985
993 tmp = gpiochip_remove(&data->mcp[addr]->chip); 986 gpiochip_remove(&data->mcp[addr]->chip);
994 if (tmp < 0) {
995 dev_err(&spi->dev, "%s --> %d\n", "remove", tmp);
996 status = tmp;
997 }
998 } 987 }
999 if (status == 0) 988 kfree(data);
1000 kfree(data); 989 return 0;
1001 return status;
1002} 990}
1003 991
1004static const struct spi_device_id mcp23s08_ids[] = { 992static const struct spi_device_id mcp23s08_ids[] = {