From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.nokia.com ([192.100.122.233] helo=mgw-mx06.nokia.com) by bombadil.infradead.org with esmtps (Exim 4.69 #1 (Red Hat Linux)) id 1N5EvA-0000Cn-W3 for linux-mtd@lists.infradead.org; Tue, 03 Nov 2009 08:39:26 +0000 Subject: Re: [PATCH 2/3]NAND: OMAP: Fixing omap nand driver, compiled as module From: Artem Bityutskiy To: Vimal Singh In-Reply-To: References: <1257236897.21596.57.camel@localhost> Content-Type: text/plain; charset="UTF-8" Date: Tue, 03 Nov 2009 10:39:10 +0200 Message-Id: <1257237550.21596.62.camel@localhost> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: linux-omap@vger.kernel.org, Linux MTD Reply-To: dedekind1@gmail.com List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 2009-11-03 at 14:05 +0530, Vimal Singh wrote: > On Tue, Nov 3, 2009 at 1:58 PM, Artem Bityutskiy wrote: > > On Fri, 2009-10-30 at 14:57 +0530, Vimal Singh wrote: > >> Last time I forgot to 'git add' for 'arch/arm/mach-omap2/gpmc.c'... My bad. > >> Correct patch is below. > >> > >> -vimal > >> > >> > >> From: Vimal Singh > >> Date: Fri, 30 Oct 2009 14:54:29 +0530 > >> Subject: [PATCH] NAND: OMAP: Fixing omap nand driver, compiled as module > >> > >> Removing OMAP NAND driver, when loaded as a module, gives error and > >> does not get success. This fixes this and makes driver loadable and > >> removable run time. > >> > >> Signed-off-by: Vimal Singh > >> --- > >> arch/arm/mach-omap2/gpmc.c | 2 ++ > >> drivers/mtd/nand/omap2.c | 5 ++++- > >> 2 files changed, 6 insertions(+), 1 deletions(-) > >> > >> diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c > >> index 1587682..1d10b7b 100644 > >> --- a/arch/arm/mach-omap2/gpmc.c > >> +++ b/arch/arm/mach-omap2/gpmc.c > >> @@ -88,6 +88,7 @@ void gpmc_cs_write_reg(int cs, int idx, u32 val) > >> reg_addr = gpmc_base + GPMC_CS0 + (cs * GPMC_CS_SIZE) + idx; > >> __raw_writel(val, reg_addr); > >> } > >> +EXPORT_SYMBOL(gpmc_cs_write_reg); > >> > >> u32 gpmc_cs_read_reg(int cs, int idx) > >> { > >> @@ -96,6 +97,7 @@ u32 gpmc_cs_read_reg(int cs, int idx) > >> reg_addr = gpmc_base + GPMC_CS0 + (cs * GPMC_CS_SIZE) + idx; > >> return __raw_readl(reg_addr); > >> } > >> +EXPORT_SYMBOL(gpmc_cs_read_reg); > > > > Why do you export these? > > These functions are called during prob. So, if not exported and driver > is compiled as a module compilation will break with error saying these > are not defined or not found. Could you show the place where they are called from please. I tried to compile the omap NAND driver as module and it compiled fine. Probably I'm missing something? -- Best Regards, Artem Bityutskiy (Артём Битюцкий)