hwmon: (gpio-fan) Convert to devm_hwmon_device_register_with_groups

This simplifies the code a bit and also ensures the attribute groups are
properly removed from sysfs when unload the module.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Axel Lin 2014-06-14 14:50:50 +08:00 committed by Guenter Roeck
parent 5495af5f3e
commit 49153b092c

View File

@ -537,9 +537,10 @@ static int gpio_fan_probe(struct platform_device *pdev)
} }
/* Make this driver part of hwmon class. */ /* Make this driver part of hwmon class. */
fan_data->hwmon_dev = hwmon_device_register_with_groups(&pdev->dev, fan_data->hwmon_dev =
"gpio_fan", fan_data, devm_hwmon_device_register_with_groups(&pdev->dev,
gpio_fan_groups); "gpio_fan", fan_data,
gpio_fan_groups);
if (IS_ERR(fan_data->hwmon_dev)) if (IS_ERR(fan_data->hwmon_dev))
return PTR_ERR(fan_data->hwmon_dev); return PTR_ERR(fan_data->hwmon_dev);
@ -548,15 +549,6 @@ static int gpio_fan_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int gpio_fan_remove(struct platform_device *pdev)
{
struct gpio_fan_data *fan_data = platform_get_drvdata(pdev);
hwmon_device_unregister(fan_data->hwmon_dev);
return 0;
}
#ifdef CONFIG_PM_SLEEP #ifdef CONFIG_PM_SLEEP
static int gpio_fan_suspend(struct device *dev) static int gpio_fan_suspend(struct device *dev)
{ {
@ -588,7 +580,6 @@ static SIMPLE_DEV_PM_OPS(gpio_fan_pm, gpio_fan_suspend, gpio_fan_resume);
static struct platform_driver gpio_fan_driver = { static struct platform_driver gpio_fan_driver = {
.probe = gpio_fan_probe, .probe = gpio_fan_probe,
.remove = gpio_fan_remove,
.driver = { .driver = {
.name = "gpio-fan", .name = "gpio-fan",
.pm = GPIO_FAN_PM, .pm = GPIO_FAN_PM,