Skip to contentSkip to conversation

hwmon: (gpio-fan) Convert to devm_hwmon_device_register_with_groups

PATCH In review Axel Lin 3 participants 3 messages Jun 14, 2014 – Jul 9, 2014 Hardware monitoring

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/1 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.

---
 drivers/hwmon/gpio-fan.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)
drivers/hwmon/gpio-fan.c +3 -13
index ba35e4d..2abfc3f 100644
@@ -537,9 +537,10 @@ static int gpio_fan_probe(struct platform_device *pdev)
 	}
 
 	/* 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);
 
@@ -548,15 +549,6 @@ static int gpio_fan_probe(struct platform_device *pdev)
 	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)
 {
@@ -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 = {
 	.probe		= gpio_fan_probe,
-	.remove		= gpio_fan_remove,
 	.driver	= {
 		.name	= "gpio-fan",
 		.pm	= GPIO_FAN_PM,
Signature · 9 lines
1.8.3.2




_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
maintainer
#1 lore raw
Quoted 4 lines · Axel Lin

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

Hmm ... no idea why I did not use the devm_ function to start with. Applied to -next.

On a side note, I wonder if the interrupt handler works on this one. Shared edge triggered interrupts used to be not supported, or my memory is wrong. If I find some time, I may build a little test board to give this a try.

Guenter

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

#2 lore raw
In reply to Axel Lin
Quoted 11 lines · Guenter Roeck
Quoted 4 lines · Axel Lin

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

Hmm ... no idea why I did not use the devm_ function to start with. Applied to -next.

On a side note, I wonder if the interrupt handler works on this one. Shared edge triggered interrupts used to be not supported, or my memory is wrong. If I find some time, I may build a little test board to give this a try.

Hi Guenter,

Last time I checked it was OK with my ns2 Max board (DTS file kirkwood-ns2max.dts).

Simon

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors