drm/nouveau/hwmon: create hwmon attributes under hwmon device in sysfs
authorBen Skeggs <bskeggs@redhat.com>
Thu, 6 Dec 2012 05:17:12 +0000 (15:17 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 20 Feb 2013 06:00:26 +0000 (16:00 +1000)
From browsing my /sys, a few other things seem to do this, and it looks
cleaner this way too :)

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_pm.c

index 3a6ee7e..bb54098 100644 (file)
@@ -932,7 +932,7 @@ nouveau_hwmon_init(struct drm_device *dev)
        dev_set_drvdata(hwmon_dev, dev);
 
        /* default sysfs entries */
-       ret = sysfs_create_group(&dev->pdev->dev.kobj, &hwmon_attrgroup);
+       ret = sysfs_create_group(&hwmon_dev->kobj, &hwmon_attrgroup);
        if (ret) {
                if (ret)
                        goto error;
@@ -943,7 +943,7 @@ nouveau_hwmon_init(struct drm_device *dev)
         *     the gpio entries for pwm fan control even when there's no
         *     actual fan connected to it... therm table? */
        if (therm->fan_get && therm->fan_get(therm) >= 0) {
-               ret = sysfs_create_group(&dev->pdev->dev.kobj,
+               ret = sysfs_create_group(&hwmon_dev->kobj,
                                         &hwmon_pwm_fan_attrgroup);
                if (ret)
                        goto error;
@@ -951,7 +951,7 @@ nouveau_hwmon_init(struct drm_device *dev)
 
        /* if the card can read the fan rpm */
        if (therm->fan_sense(therm) >= 0) {
-               ret = sysfs_create_group(&dev->pdev->dev.kobj,
+               ret = sysfs_create_group(&hwmon_dev->kobj,
                                         &hwmon_fan_rpm_attrgroup);
                if (ret)
                        goto error;
@@ -979,10 +979,10 @@ nouveau_hwmon_fini(struct drm_device *dev)
        struct nouveau_pm *pm = nouveau_pm(dev);
 
        if (pm->hwmon) {
-               sysfs_remove_group(&dev->pdev->dev.kobj, &hwmon_attrgroup);
-               sysfs_remove_group(&dev->pdev->dev.kobj,
+               sysfs_remove_group(&pm->hwmon->kobj, &hwmon_attrgroup);
+               sysfs_remove_group(&pm->hwmon->kobj,
                                   &hwmon_pwm_fan_attrgroup);
-               sysfs_remove_group(&dev->pdev->dev.kobj,
+               sysfs_remove_group(&pm->hwmon->kobj,
                                   &hwmon_fan_rpm_attrgroup);
 
                hwmon_device_unregister(pm->hwmon);