From 720ae815ea845987cbb17386b083756f773e44bb Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 14 Aug 2010 21:09:00 +0200 Subject: [PATCH] --- yaml --- r: 209435 b: refs/heads/master c: c6b8724647eb1c24dc37cec8518bb6957f0000a8 h: refs/heads/master i: 209433: 327c911c5bee580c6b21dbe3d061151948bd3a0a 209431: 711014d1c921e0d69e56461371d5439dc302d8b5 v: v3 --- [refs] | 2 +- trunk/drivers/hwmon/pc87427.c | 58 ++++++++++++++++------------------- 2 files changed, 27 insertions(+), 33 deletions(-) diff --git a/[refs] b/[refs] index 607a92b3240e..c1204023c63b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 008e5f3350e0a474baff3ed3eb4f79653a6b6745 +refs/heads/master: c6b8724647eb1c24dc37cec8518bb6957f0000a8 diff --git a/trunk/drivers/hwmon/pc87427.c b/trunk/drivers/hwmon/pc87427.c index 189dad428ac2..9ec4daaf6ca6 100644 --- a/trunk/drivers/hwmon/pc87427.c +++ b/trunk/drivers/hwmon/pc87427.c @@ -1045,6 +1045,29 @@ static void __devinit pc87427_init_device(struct device *dev) } } +static void pc87427_remove_files(struct device *dev) +{ + struct pc87427_data *data = dev_get_drvdata(dev); + int i; + + device_remove_file(dev, &dev_attr_name); + for (i = 0; i < 8; i++) { + if (!(data->fan_enabled & (1 << i))) + continue; + sysfs_remove_group(&dev->kobj, &pc87427_group_fan[i]); + } + for (i = 0; i < 4; i++) { + if (!(data->pwm_enabled & (1 << i))) + continue; + sysfs_remove_group(&dev->kobj, &pc87427_group_pwm[i]); + } + for (i = 0; i < 6; i++) { + if (!(data->temp_enabled & (1 << i))) + continue; + sysfs_remove_group(&dev->kobj, &pc87427_group_temp[i]); + } +} + static int __devinit pc87427_probe(struct platform_device *pdev) { struct pc87427_sio_data *sio_data = pdev->dev.platform_data; @@ -1110,21 +1133,7 @@ static int __devinit pc87427_probe(struct platform_device *pdev) return 0; exit_remove_files: - for (i = 0; i < 8; i++) { - if (!(data->fan_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_fan[i]); - } - for (i = 0; i < 4; i++) { - if (!(data->pwm_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_pwm[i]); - } - for (i = 0; i < 6; i++) { - if (!(data->temp_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_temp[i]); - } + pc87427_remove_files(&pdev->dev); exit_release_region: pc87427_release_regions(pdev, res_count); exit_kfree: @@ -1137,27 +1146,12 @@ static int __devinit pc87427_probe(struct platform_device *pdev) static int __devexit pc87427_remove(struct platform_device *pdev) { struct pc87427_data *data = platform_get_drvdata(pdev); - int i, res_count; + int res_count; res_count = (data->address[0] != 0) + (data->address[1] != 0); hwmon_device_unregister(data->hwmon_dev); - device_remove_file(&pdev->dev, &dev_attr_name); - for (i = 0; i < 8; i++) { - if (!(data->fan_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_fan[i]); - } - for (i = 0; i < 4; i++) { - if (!(data->pwm_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_pwm[i]); - } - for (i = 0; i < 6; i++) { - if (!(data->temp_enabled & (1 << i))) - continue; - sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_temp[i]); - } + pc87427_remove_files(&pdev->dev); platform_set_drvdata(pdev, NULL); kfree(data);