diff options
| author | Henrik Kretzschmar <henne@nachtwindheim.de> | 2010-06-17 06:01:24 -0400 |
|---|---|---|
| committer | Florian Tobias Schandinat <FlorianSchandinat@gmx.de> | 2010-08-05 17:58:15 -0400 |
| commit | eca9c47bd3120d3643b83dce09b0cf49fdd73d1a (patch) | |
| tree | 7b5e87971cf542cef0fd37c076c32cc1f66280b1 | |
| parent | af29a5b1781bf642a29b5e9bb6162dccfcd626df (diff) | |
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>
| -rw-r--r-- | drivers/video/via/via-core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/video/via/via-core.c b/drivers/video/via/via-core.c index 4afa3c5c059d..66f403033111 100644 --- a/drivers/video/via/via-core.c +++ b/drivers/video/via/via-core.c | |||
| @@ -64,7 +64,7 @@ static inline int viafb_mmio_read(int reg) | |||
| 64 | */ | 64 | */ |
| 65 | static u32 viafb_enabled_ints; | 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 | viafb_enabled_ints = 0; | 69 | viafb_enabled_ints = 0; |
| 70 | 70 | ||
| @@ -489,7 +489,7 @@ out_unmap: | |||
| 489 | return ret; | 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 | iounmap(vdev->fbmem); | 494 | iounmap(vdev->fbmem); |
| 495 | iounmap(vdev->engine_mmio); | 495 | iounmap(vdev->engine_mmio); |
| @@ -548,7 +548,7 @@ static int __devinit via_setup_subdevs(struct viafb_dev *vdev) | |||
| 548 | return 0; | 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 | int i; | 553 | int i; |
| 554 | 554 | ||
