From: William Lee Irwin III <wli@holomorphy.com>

This driver is using some private #ifdef to try to control the use of
partitions and calling functions that get compiled out of the kernel if it's
set (which it is by default).  This results in unresolved module symbols,
which are bad.

This patch synchronizes the conditional compilation of partition management in
the driver with the global config option for MTD partition management and
thereby fixes the unresolved symbol problem.

Signed-off-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/mtd/maps/scx200_docflash.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff -puN drivers/mtd/maps/scx200_docflash.c~fix-unresolved-mtd-symbols-in-scx200_docflashc drivers/mtd/maps/scx200_docflash.c
--- 25/drivers/mtd/maps/scx200_docflash.c~fix-unresolved-mtd-symbols-in-scx200_docflashc	2005-01-10 17:29:35.653466768 -0800
+++ 25-akpm/drivers/mtd/maps/scx200_docflash.c	2005-01-10 17:29:35.657466160 -0800
@@ -26,9 +26,6 @@ MODULE_AUTHOR("Christer Weinigel <wingel
 MODULE_DESCRIPTION("NatSemi SCx200 DOCCS Flash Driver");
 MODULE_LICENSE("GPL");
 
-/* Set this to one if you want to partition the flash */
-#define PARTITION 1
-
 static int probe = 0;		/* Don't autoprobe */
 static unsigned size = 0x1000000; /* 16 MiB the whole ISA address space */
 static unsigned width = 8;	/* Default to 8 bits wide */
@@ -50,7 +47,7 @@ static struct resource docmem = {
 
 static struct mtd_info *mymtd;
 
-#if PARTITION
+#ifdef CONFIG_MTD_PARTITIONS
 static struct mtd_partition partition_info[] = {
 	{ 
 		.name   = "DOCCS Boot kernel", 
@@ -200,7 +197,7 @@ static int __init init_scx200_docflash(v
 
 	mymtd->owner = THIS_MODULE;
 
-#if PARTITION
+#ifdef CONFIG_MTD_PARTITIONS
 	partition_info[3].offset = mymtd->size-partition_info[3].size;
 	partition_info[2].size = partition_info[3].offset-partition_info[2].offset;
 	add_mtd_partitions(mymtd, partition_info, NUM_PARTITIONS);
@@ -213,7 +210,7 @@ static int __init init_scx200_docflash(v
 static void __exit cleanup_scx200_docflash(void)
 {
 	if (mymtd) {
-#if PARTITION
+#ifdef CONFIG_MTD_PARTITIONS
 		del_mtd_partitions(mymtd);
 #else
 		del_mtd_device(mymtd);
_