[PATCH] powermac backlight fixes
Fix a erroneous calculation of the legacy brightness values as reported by Paul Collins. Additionally, it moves the calculation of the negative value in the radeonfb driver after the value check. Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Paul Collins <paul@briny.ondioline.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
96febe9fb7
commit
cab267c65f
2 changed files with 15 additions and 5 deletions
|
@ -119,7 +119,14 @@ int pmac_backlight_set_legacy_brightness(int brightness)
|
|||
down(&pmac_backlight->sem);
|
||||
props = pmac_backlight->props;
|
||||
props->brightness = brightness *
|
||||
props->max_brightness / OLD_BACKLIGHT_MAX;
|
||||
(props->max_brightness + 1) /
|
||||
(OLD_BACKLIGHT_MAX + 1);
|
||||
|
||||
if (props->brightness > props->max_brightness)
|
||||
props->brightness = props->max_brightness;
|
||||
else if (props->brightness < 0)
|
||||
props->brightness = 0;
|
||||
|
||||
props->update_status(pmac_backlight);
|
||||
up(&pmac_backlight->sem);
|
||||
|
||||
|
@ -140,8 +147,11 @@ int pmac_backlight_get_legacy_brightness()
|
|||
|
||||
down(&pmac_backlight->sem);
|
||||
props = pmac_backlight->props;
|
||||
|
||||
result = props->brightness *
|
||||
OLD_BACKLIGHT_MAX / props->max_brightness;
|
||||
(OLD_BACKLIGHT_MAX + 1) /
|
||||
(props->max_brightness + 1);
|
||||
|
||||
up(&pmac_backlight->sem);
|
||||
}
|
||||
mutex_unlock(&pmac_backlight_mutex);
|
||||
|
|
|
@ -40,14 +40,14 @@ static int radeon_bl_get_level_brightness(struct radeon_bl_privdata *pdata,
|
|||
|
||||
mutex_unlock(&info->bl_mutex);
|
||||
|
||||
if (pdata->negative)
|
||||
rlevel = MAX_RADEON_LEVEL - rlevel;
|
||||
|
||||
if (rlevel < 0)
|
||||
rlevel = 0;
|
||||
else if (rlevel > MAX_RADEON_LEVEL)
|
||||
rlevel = MAX_RADEON_LEVEL;
|
||||
|
||||
if (pdata->negative)
|
||||
rlevel = MAX_RADEON_LEVEL - rlevel;
|
||||
|
||||
return rlevel;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue