mfd: Fix resource reclaim in pcf50633_remove()

Calling sysfs_remove_group() to remove sysfs entries
and unregister bl_pdev in pcf50633_remove().

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Harald Welte <laforge@gnumonks.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Axel Lin 2010-10-20 16:56:59 +08:00 committed by Samuel Ortiz
parent bf56f0a666
commit 8220fe4cb2

View File

@ -339,12 +339,14 @@ static int __devexit pcf50633_remove(struct i2c_client *client)
struct pcf50633 *pcf = i2c_get_clientdata(client); struct pcf50633 *pcf = i2c_get_clientdata(client);
int i; int i;
sysfs_remove_group(&client->dev.kobj, &pcf_attr_group);
pcf50633_irq_free(pcf); pcf50633_irq_free(pcf);
platform_device_unregister(pcf->input_pdev); platform_device_unregister(pcf->input_pdev);
platform_device_unregister(pcf->rtc_pdev); platform_device_unregister(pcf->rtc_pdev);
platform_device_unregister(pcf->mbc_pdev); platform_device_unregister(pcf->mbc_pdev);
platform_device_unregister(pcf->adc_pdev); platform_device_unregister(pcf->adc_pdev);
platform_device_unregister(pcf->bl_pdev);
for (i = 0; i < PCF50633_NUM_REGULATORS; i++) for (i = 0; i < PCF50633_NUM_REGULATORS; i++)
platform_device_unregister(pcf->regulator_pdev[i]); platform_device_unregister(pcf->regulator_pdev[i]);