hwmon: (aspeed-pwm-tacho) Use devm_thermal_of_cooling_device_register

Use devm_thermal_of_cooling_device_register() to register the cooling
device. As a side effect, this fixes a driver bug:
thermal_cooling_device_unregister() was not called on removal.

Fixes: f198907d2f ("hwmon: (aspeed-pwm-tacho) cooling device support.")
Cc: Mykola Kostenok <c_mykolak@mellanox.com>
Cc: Joel Stanley <joel@jms.id.au>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Patrick Venture <venture@google.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
This commit is contained in:
Guenter Roeck 2019-04-18 12:58:16 -07:00 committed by Eduardo Valentin
parent e380ea8117
commit 389c0ad1d6
1 changed files with 2 additions and 4 deletions

View File

@ -830,10 +830,8 @@ static int aspeed_create_pwm_cooling(struct device *dev,
} }
snprintf(cdev->name, MAX_CDEV_NAME_LEN, "%pOFn%d", child, pwm_port); snprintf(cdev->name, MAX_CDEV_NAME_LEN, "%pOFn%d", child, pwm_port);
cdev->tcdev = thermal_of_cooling_device_register(child, cdev->tcdev = devm_thermal_of_cooling_device_register(dev, child,
cdev->name, cdev->name, cdev, &aspeed_pwm_cool_ops);
cdev,
&aspeed_pwm_cool_ops);
if (IS_ERR(cdev->tcdev)) if (IS_ERR(cdev->tcdev))
return PTR_ERR(cdev->tcdev); return PTR_ERR(cdev->tcdev);