aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/twl6040.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2013-10-25 05:03:48 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2013-10-25 05:03:48 -0400
commit8df5a1ba67b1a4b1560472359c30a5b1e3ebcc78 (patch)
tree1563cc6270c76867a8dfe60c7c3d1e57064fed79 /drivers/mfd/twl6040.c
parent46a99d03f97e54d346a35bb8f0fa79ba73687ad0 (diff)
parent6bfd1e63de34a278d67db32e3644340838308252 (diff)
Merge tag 'mfd-lee-3.13-1' of git://git.linaro.org/people/ljones/mfd
mfd-lee-3.13-1 MFD patches due for v3.13.
Diffstat (limited to 'drivers/mfd/twl6040.c')
-rw-r--r--drivers/mfd/twl6040.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/mfd/twl6040.c b/drivers/mfd/twl6040.c
index 9d948af420db..0779d5ab9ab1 100644
--- a/drivers/mfd/twl6040.c
+++ b/drivers/mfd/twl6040.c
@@ -619,7 +619,7 @@ static int twl6040_probe(struct i2c_client *client,
619 "twl6040_irq_th", twl6040); 619 "twl6040_irq_th", twl6040);
620 if (ret) { 620 if (ret) {
621 dev_err(twl6040->dev, "Thermal IRQ request failed: %d\n", ret); 621 dev_err(twl6040->dev, "Thermal IRQ request failed: %d\n", ret);
622 goto thirq_err; 622 goto readyirq_err;
623 } 623 }
624 624
625 /* dual-access registers controlled by I2C only */ 625 /* dual-access registers controlled by I2C only */
@@ -659,14 +659,10 @@ static int twl6040_probe(struct i2c_client *client,
659 ret = mfd_add_devices(&client->dev, -1, twl6040->cells, children, 659 ret = mfd_add_devices(&client->dev, -1, twl6040->cells, children,
660 NULL, 0, NULL); 660 NULL, 0, NULL);
661 if (ret) 661 if (ret)
662 goto mfd_err; 662 goto readyirq_err;
663 663
664 return 0; 664 return 0;
665 665
666mfd_err:
667 devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
668thirq_err:
669 devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
670readyirq_err: 666readyirq_err:
671 regmap_del_irq_chip(twl6040->irq, twl6040->irq_data); 667 regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
672gpio_err: 668gpio_err:
@@ -681,8 +677,6 @@ static int twl6040_remove(struct i2c_client *client)
681 if (twl6040->power_count) 677 if (twl6040->power_count)
682 twl6040_power(twl6040, 0); 678 twl6040_power(twl6040, 0);
683 679
684 devm_free_irq(&client->dev, twl6040->irq_ready, twl6040);
685 devm_free_irq(&client->dev, twl6040->irq_th, twl6040);
686 regmap_del_irq_chip(twl6040->irq, twl6040->irq_data); 680 regmap_del_irq_chip(twl6040->irq, twl6040->irq_data);
687 681
688 mfd_remove_devices(&client->dev); 682 mfd_remove_devices(&client->dev);