diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-06-21 14:38:03 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-06-27 10:49:16 -0400 |
commit | 6bd1c3853210e36569601096e2344f8258fd516d (patch) | |
tree | 71b9633963e234e03f12d1096db7206edfe045a0 /drivers/gpu/drm/radeon/radeon_pm.c | |
parent | 46f9564ab03e4bf04ffa9647c4d42751f5cdcb97 (diff) |
drm/radeon: make get_temperature functions a callback
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_pm.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_pm.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index 788c64cb4b47..e8c1bea9b57b 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c | |||
@@ -434,27 +434,10 @@ static ssize_t radeon_hwmon_show_temp(struct device *dev, | |||
434 | struct radeon_device *rdev = ddev->dev_private; | 434 | struct radeon_device *rdev = ddev->dev_private; |
435 | int temp; | 435 | int temp; |
436 | 436 | ||
437 | switch (rdev->pm.int_thermal_type) { | 437 | if (rdev->asic->pm.get_temperature) |
438 | case THERMAL_TYPE_RV6XX: | 438 | temp = radeon_get_temperature(rdev); |
439 | temp = rv6xx_get_temp(rdev); | 439 | else |
440 | break; | ||
441 | case THERMAL_TYPE_RV770: | ||
442 | temp = rv770_get_temp(rdev); | ||
443 | break; | ||
444 | case THERMAL_TYPE_EVERGREEN: | ||
445 | case THERMAL_TYPE_NI: | ||
446 | temp = evergreen_get_temp(rdev); | ||
447 | break; | ||
448 | case THERMAL_TYPE_SUMO: | ||
449 | temp = sumo_get_temp(rdev); | ||
450 | break; | ||
451 | case THERMAL_TYPE_SI: | ||
452 | temp = si_get_temp(rdev); | ||
453 | break; | ||
454 | default: | ||
455 | temp = 0; | 440 | temp = 0; |
456 | break; | ||
457 | } | ||
458 | 441 | ||
459 | return snprintf(buf, PAGE_SIZE, "%d\n", temp); | 442 | return snprintf(buf, PAGE_SIZE, "%d\n", temp); |
460 | } | 443 | } |
@@ -492,8 +475,7 @@ static int radeon_hwmon_init(struct radeon_device *rdev) | |||
492 | case THERMAL_TYPE_NI: | 475 | case THERMAL_TYPE_NI: |
493 | case THERMAL_TYPE_SUMO: | 476 | case THERMAL_TYPE_SUMO: |
494 | case THERMAL_TYPE_SI: | 477 | case THERMAL_TYPE_SI: |
495 | /* No support for TN yet */ | 478 | if (rdev->asic->pm.get_temperature == NULL) |
496 | if (rdev->family == CHIP_ARUBA) | ||
497 | return err; | 479 | return err; |
498 | rdev->pm.int_hwmon_dev = hwmon_device_register(rdev->dev); | 480 | rdev->pm.int_hwmon_dev = hwmon_device_register(rdev->dev); |
499 | if (IS_ERR(rdev->pm.int_hwmon_dev)) { | 481 | if (IS_ERR(rdev->pm.int_hwmon_dev)) { |