regulator: max8660 - fix a memory leak in max8660_remove()
authorAxel Lin <axel.lin@gmail.com>
Fri, 6 Aug 2010 05:35:27 +0000 (13:35 +0800)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Wed, 11 Aug 2010 10:38:02 +0000 (11:38 +0100)
commit53a4befa4e3d1490a63dae1ac03a2e7c865b2f53
tree837c092393deaed4ae3f86e70bb9b552fe004272
parent7c4c25e4bc37672e68d1c480a81fcb0efe6d2006
regulator: max8660 - fix a memory leak in max8660_remove()

In max8660_probe(), we allocate memory for max660.
In max8660_remove(), current implementation only free rdev
which is a member of struct max8660.
Thus, there is a small memory leak when we unload the module.

This patch fixes the memory leak by passing max660 to i2c clientdata,
and properly kfree(max8660) in max8660_remove().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
drivers/regulator/max8660.c