summaryrefslogtreecommitdiffstats
path: root/drivers/video/intelfb/intelfbdrv.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/intelfb/intelfbdrv.c')
-rw-r--r--drivers/video/intelfb/intelfbdrv.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/video/intelfb/intelfbdrv.c b/drivers/video/intelfb/intelfbdrv.c
index b96001b5d94..f659ca8d165 100644
--- a/drivers/video/intelfb/intelfbdrv.c
+++ b/drivers/video/intelfb/intelfbdrv.c
@@ -1467,7 +1467,7 @@ static int
intelfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
{
struct intelfb_info *dinfo = GET_DINFO(info);
- int ret;
+ u32 physical;
#if VERBOSE > 0
DBG_MSG("intelfb_cursor\n");
#endif
@@ -1478,12 +1478,10 @@ intelfb_cursor(struct fb_info *info, struct fb_cursor *cursor)
intelfbhw_cursor_hide(dinfo);
/* If XFree killed the cursor - restore it */
- if (dinfo->mobile || IS_I9xx(dinfo))
- ret = (INREG(CURSOR_A_BASEADDR) != dinfo->cursor.physical);
- else
- ret = (INREG(CURSOR_A_BASEADDR) != dinfo->cursor.offset << 12);
+ physical = (dinfo->mobile || IS_I9xx(dinfo)) ? dinfo->cursor.physical :
+ (dinfo->cursor.offset << 12);
- if (ret) {
+ if (INREG(CURSOR_A_BASEADDR) != physical) {
u32 fg, bg;
DBG_MSG("the cursor was killed - restore it !!\n");