Commit fcb1fec7 authored by Paul Mundt's avatar Paul Mundt

fb: pvr2fb: Fix up remaining section mismatch.

Building with CONFIG_DEBUG_SECTION_MISMATCH=y reports:

  CC      drivers/video/pvr2fb.o
  LD      drivers/video/built-in.o
WARNING: drivers/video/built-in.o(.text+0xb9b0): Section mismatch in reference from the function pvr2fb_check_var() to the variable .devinit.data:pvr2_fix
The function pvr2fb_check_var() references
the variable __devinitdata pvr2_fix.
This is often because pvr2fb_check_var lacks a __devinitdata
annotation or the annotation of pvr2_fix is wrong.

This is obviously crap as no such reference exists, but it's a bit
closer to reality from older versions which blamed the PCI table. The
real problem was a reference to pvr2_var.vmode from pvr2fb_check_var(),
as pvr2_var is flagged as __devinitdata (pvr2_fix is also, so at least
that part is right).

pvr2_var.vmode is just a fancy way of saying FB_VMODE_NONINTERLACED, so
we just reference that explicitly instead.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent b2839ed8
/* drivers/video/pvr2fb.c /*
* drivers/video/pvr2fb.c
* *
* Frame buffer and fbcon support for the NEC PowerVR2 found within the Sega * Frame buffer and fbcon support for the NEC PowerVR2 found within the Sega
* Dreamcast. * Dreamcast.
* *
* Copyright (c) 2001 M. R. Brown <mrbrown@0xd6.org> * Copyright (c) 2001 M. R. Brown <mrbrown@0xd6.org>
* Copyright (c) 2001, 2002, 2003, 2004, 2005 Paul Mundt <lethal@linux-sh.org> * Copyright (c) 2001 - 2008 Paul Mundt <lethal@linux-sh.org>
*
* This file is part of the LinuxDC project (linuxdc.sourceforge.net).
* *
*/
/*
* This driver is mostly based on the excellent amifb and vfb sources. It uses * This driver is mostly based on the excellent amifb and vfb sources. It uses
* an odd scheme for converting hardware values to/from framebuffer values, * an odd scheme for converting hardware values to/from framebuffer values,
* here are some hacked-up formulas: * here are some hacked-up formulas:
...@@ -490,7 +486,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) ...@@ -490,7 +486,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
} else { } else {
var->sync &= ~FB_SYNC_BROADCAST; var->sync &= ~FB_SYNC_BROADCAST;
var->vmode &= ~FB_VMODE_INTERLACED; var->vmode &= ~FB_VMODE_INTERLACED;
var->vmode |= pvr2_var.vmode; var->vmode |= FB_VMODE_NONINTERLACED;
} }
if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) { if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment