Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fbdev: section cleanup in viafb driver

This patch moves two functions from .devexit to .text,
which are called on the probe error path.
Also a function which is called by probe is moved
from .text to .devinit.

WARNING: vmlinux.o(.devinit.text+0x2ca5): Section mismatch in reference
from the function via_pci_probe() to the function
devexit.text:via_teardown_subdevs()
The function __devinit via_pci_probe() references
a function __devexit via_teardown_subdevs().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
via_teardown_subdevs() so it may be used outside an exit section.

WARNING: vmlinux.o(.devinit.text+0x2cb1): Section mismatch in reference
from the function via_pci_probe() to the function
devexit.text:via_pci_teardown_mmio()
The function __devinit via_pci_probe() references
a function __devexit via_pci_teardown_mmio().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
via_pci_teardown_mmio() so it may be used outside an exit section.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>

authored by

Henrik Kretzschmar and committed by
Florian Tobias Schandinat
eca9c47b af29a5b1

+3 -3
+3 -3
drivers/video/via/via-core.c
··· 64 64 */ 65 65 static u32 viafb_enabled_ints; 66 66 67 - static void viafb_int_init(void) 67 + static void __devinit viafb_int_init(void) 68 68 { 69 69 viafb_enabled_ints = 0; 70 70 ··· 489 489 return ret; 490 490 } 491 491 492 - static void __devexit via_pci_teardown_mmio(struct viafb_dev *vdev) 492 + static void via_pci_teardown_mmio(struct viafb_dev *vdev) 493 493 { 494 494 iounmap(vdev->fbmem); 495 495 iounmap(vdev->engine_mmio); ··· 548 548 return 0; 549 549 } 550 550 551 - static void __devexit via_teardown_subdevs(void) 551 + static void via_teardown_subdevs(void) 552 552 { 553 553 int i; 554 554