[PATCH 3/4] arm: mach-s3c2440: dma: fix section mismatch

Wolfram Sang w.sang at pengutronix.de
Thu Jul 7 06:18:38 EDT 2011


If s3c2440_dma_add() and s3c2440_dma_init() are in __init, then the
struct s3c2440_dma_driver they are using should be __initdata, too.

Fixes:

WARNING: vmlinux.o(.data+0x14ac): Section mismatch in reference from the variable s3c2440_dma_driver to the function .init.text:s3c2440_dma_add()
The variable s3c2440_dma_driver references the function __init s3c2440_dma_add()

Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
Cc: Ben Dooks <ben-linux at fluff.org>
Cc: Kukjin Kim <kgene.kim at samsung.com>
---
 arch/arm/mach-s3c2440/dma.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-s3c2440/dma.c b/arch/arm/mach-s3c2440/dma.c
index 3b0529f..f417959 100644
--- a/arch/arm/mach-s3c2440/dma.c
+++ b/arch/arm/mach-s3c2440/dma.c
@@ -198,7 +198,7 @@ static int __init s3c2440_dma_add(struct sys_device *sysdev)
 	return s3c24xx_dma_init_map(&s3c2440_dma_sel);
 }
 
-static struct sysdev_driver s3c2440_dma_driver = {
+static struct sysdev_driver __initdata s3c2440_dma_driver = {
 	.add	= s3c2440_dma_add,
 };
 
-- 
1.7.5.4




More information about the linux-arm-kernel mailing list