void nouveau_hwmon_fini(struct drm_device *dev) { #if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE)) struct nouveau_hwmon *hwmon = nouveau_hwmon(dev); if (!hwmon) return; if (hwmon->hwmon) hwmon_device_unregister(hwmon->hwmon); nouveau_drm(dev)->hwmon = NULL; kfree(hwmon); #endif }
void nouveau_hwmon_fini(struct drm_device *dev) { #if defined(CONFIG_HWMON) || (defined(MODULE) && defined(CONFIG_HWMON_MODULE)) struct nouveau_hwmon *hwmon = nouveau_hwmon(dev); if (hwmon->hwmon) { sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_default_attrgroup); sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_temp_attrgroup); sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_pwm_fan_attrgroup); sysfs_remove_group(&hwmon->hwmon->kobj, &hwmon_fan_rpm_attrgroup); hwmon_device_unregister(hwmon->hwmon); } nouveau_drm(dev)->hwmon = NULL; kfree(hwmon); #endif }