aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio/pca953x.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio/pca953x.c')
-rw-r--r--drivers/gpio/pca953x.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpio/pca953x.c b/drivers/gpio/pca953x.c
index 583e92592073..7630ab7b9bec 100644
--- a/drivers/gpio/pca953x.c
+++ b/drivers/gpio/pca953x.c
@@ -558,7 +558,7 @@ static int __devinit pca953x_probe(struct i2c_client *client,
558 558
559 ret = gpiochip_add(&chip->gpio_chip); 559 ret = gpiochip_add(&chip->gpio_chip);
560 if (ret) 560 if (ret)
561 goto out_failed; 561 goto out_failed_irq;
562 562
563 if (pdata->setup) { 563 if (pdata->setup) {
564 ret = pdata->setup(client, chip->gpio_chip.base, 564 ret = pdata->setup(client, chip->gpio_chip.base,
@@ -570,8 +570,9 @@ static int __devinit pca953x_probe(struct i2c_client *client,
570 i2c_set_clientdata(client, chip); 570 i2c_set_clientdata(client, chip);
571 return 0; 571 return 0;
572 572
573out_failed: 573out_failed_irq:
574 pca953x_irq_teardown(chip); 574 pca953x_irq_teardown(chip);
575out_failed:
575 kfree(chip->dyn_pdata); 576 kfree(chip->dyn_pdata);
576 kfree(chip); 577 kfree(chip);
577 return ret; 578 return ret;