|
@@ -153,6 +153,8 @@ static int max8998_i2c_probe(struct i2c_client *i2c,
|
|
|
|
|
|
err:
|
|
|
mfd_remove_devices(max8998->dev);
|
|
|
+ max8998_irq_exit(max8998);
|
|
|
+ i2c_unregister_device(max8998->rtc);
|
|
|
kfree(max8998);
|
|
|
return ret;
|
|
|
}
|
|
@@ -162,6 +164,8 @@ static int max8998_i2c_remove(struct i2c_client *i2c)
|
|
|
struct max8998_dev *max8998 = i2c_get_clientdata(i2c);
|
|
|
|
|
|
mfd_remove_devices(max8998->dev);
|
|
|
+ max8998_irq_exit(max8998);
|
|
|
+ i2c_unregister_device(max8998->rtc);
|
|
|
kfree(max8998);
|
|
|
|
|
|
return 0;
|