From fcb1fec7fece6b9889deaedf5b7d21f4f5a26381 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Thu, 6 Mar 2008 13:39:18 +0900 Subject: 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: Paul Mundt --- drivers/video/pvr2fb.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'drivers') diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c index 6a3d0b57489..8c863a7f654 100644 --- a/drivers/video/pvr2fb.c +++ b/drivers/video/pvr2fb.c @@ -1,16 +1,12 @@ -/* drivers/video/pvr2fb.c +/* + * drivers/video/pvr2fb.c * * Frame buffer and fbcon support for the NEC PowerVR2 found within the Sega * Dreamcast. * * Copyright (c) 2001 M. R. Brown - * Copyright (c) 2001, 2002, 2003, 2004, 2005 Paul Mundt - * - * This file is part of the LinuxDC project (linuxdc.sourceforge.net). + * Copyright (c) 2001 - 2008 Paul Mundt * - */ - -/* * 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, * here are some hacked-up formulas: @@ -490,7 +486,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) } else { var->sync &= ~FB_SYNC_BROADCAST; var->vmode &= ~FB_VMODE_INTERLACED; - var->vmode |= pvr2_var.vmode; + var->vmode |= FB_VMODE_NONINTERLACED; } if ((var->activate & FB_ACTIVATE_MASK) != FB_ACTIVATE_TEST) { -- cgit v1.2.3 From 0f8afa7ca9117276e9519239ed0553be2f04d269 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Thu, 6 Mar 2008 13:56:33 +0900 Subject: fb: hitfb: Balance probe/remove section annotations. hitfb presently has probe using __init whilst remove uses __devexit. As this device can't possibly be hotplugged, switch to __exit and __exit_p() instead. Signed-off-by: Paul Mundt --- drivers/video/hitfb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/video/hitfb.c b/drivers/video/hitfb.c index 756c0ce8591..392a8be6aa7 100644 --- a/drivers/video/hitfb.c +++ b/drivers/video/hitfb.c @@ -403,7 +403,7 @@ static int __init hitfb_probe(struct platform_device *dev) return 0; } -static int __devexit hitfb_remove(struct platform_device *dev) +static int __exit hitfb_remove(struct platform_device *dev) { return unregister_framebuffer(&fb_info); } @@ -439,7 +439,7 @@ static int hitfb_resume(struct platform_device *dev) static struct platform_driver hitfb_driver = { .probe = hitfb_probe, - .remove = __devexit_p(hitfb_remove), + .remove = __exit_p(hitfb_remove), #ifdef CONFIG_PM .suspend = hitfb_suspend, .resume = hitfb_resume, -- cgit v1.2.3