diff options
author | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 09:48:20 +0200 |
---|---|---|
committer | codeworkx <codeworkx@cyanogenmod.com> | 2012-09-22 14:02:16 +0200 |
commit | 2489007e7d740ccbc3e0a202914e243ad5178787 (patch) | |
tree | b8e6380ea7b1da63474ad68a5dba997e01146043 /drivers/mfd/max77693.c | |
parent | 5f67568eb31e3a813c7c52461dcf66ade15fc2e7 (diff) | |
download | kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.zip kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.gz kernel_samsung_smdk4412-2489007e7d740ccbc3e0a202914e243ad5178787.tar.bz2 |
merge opensource jb u5
Change-Id: I1aaec157aa196f3448eff8636134fce89a814cf2
Diffstat (limited to 'drivers/mfd/max77693.c')
-rw-r--r-- | drivers/mfd/max77693.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c index ee13340..769cff2 100644 --- a/drivers/mfd/max77693.c +++ b/drivers/mfd/max77693.c @@ -139,9 +139,10 @@ static int max77693_i2c_probe(struct i2c_client *i2c, max77693->irq_base = pdata->irq_base; max77693->irq_gpio = pdata->irq_gpio; max77693->wakeup = pdata->wakeup; - } else + } else { + ret = -EIO; goto err; - + } mutex_init(&max77693->iolock); if (max77693_read_reg(i2c, MAX77693_PMIC_REG_PMIC_ID2, ®_data) < 0) { @@ -165,7 +166,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, ret = max77693_irq_init(max77693); if (ret < 0) - goto err_mfd; + goto err_irq_init; ret = mfd_add_devices(max77693->dev, -1, max77693_devs, ARRAY_SIZE(max77693_devs), NULL, 0); @@ -178,6 +179,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, err_mfd: mfd_remove_devices(max77693->dev); +err_irq_init: i2c_unregister_device(max77693->muic); i2c_unregister_device(max77693->haptic); err: @@ -212,8 +214,6 @@ static int max77693_suspend(struct device *dev) if (device_may_wakeup(dev)) enable_irq_wake(max77693->irq); - disable_irq(max77693->irq); - return 0; } @@ -225,8 +225,6 @@ static int max77693_resume(struct device *dev) if (device_may_wakeup(dev)) disable_irq_wake(max77693->irq); - enable_irq(max77693->irq); - return max77693_irq_resume(max77693); } #else |