}
/* Make this driver part of hwmon class. */
- fan_data->hwmon_dev = hwmon_device_register_with_groups(&pdev->dev,
- "gpio_fan", fan_data,
- gpio_fan_groups);
+ fan_data->hwmon_dev =
+ devm_hwmon_device_register_with_groups(&pdev->dev,
+ "gpio_fan", fan_data,
+ gpio_fan_groups);
if (IS_ERR(fan_data->hwmon_dev))
return PTR_ERR(fan_data->hwmon_dev);
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
static int gpio_fan_suspend(struct device *dev)
{
static struct platform_driver gpio_fan_driver = {
.probe = gpio_fan_probe,
- .remove = gpio_fan_remove,
.driver = {
.name = "gpio-fan",
.pm = GPIO_FAN_PM,