diff -U2 -r -N -x CVS linux-2_4-orig/Documentation/Configure.help linux-2_4-doc/Documentation/Configure.help
--- linux-2_4-orig/Documentation/Configure.help	Wed Jan 24 05:56:55 2001
+++ linux-2_4-doc/Documentation/Configure.help	Wed Jan 24 05:43:54 2001
@@ -1193,4 +1193,28 @@
   called DAC960.o. 
 
+M-Systems DiskOnChip 2000 Support
+CONFIG_BLK_DEV_MSYS_DOC
+  This driver adds support for the M-Systems DiskOnChip 2000 Flash
+  device. 
+
+  The driver is composed of a pre-compiled library (libosak.a) and
+  the linux driver (fldrvlnx.c). 
+
+  You may compile as a module or link directly into the kernel. 
+  
+  If used as a module you may wish to enable the INITRD option to
+  allow the module to be loaded prior to final system startup so
+  that the root filesystem can be on the DOC device.
+
+  Because of GPL restrictions you may not distribute a kernel with 
+  the doc driver linked into it (you must be able to distribute
+  all source code for everything linked into any kernel you provide
+  to someone.) 
+
+  You may (subject to the restrictions outlined in the README.TXT
+  file that accompanies the software) distribute the doc driver as 
+  a module. 
+
+
 Parallel port IDE device support
 CONFIG_PARIDE
diff -U2 -r -N -x CVS linux-2_4-orig/drivers/block/Config.in linux-2_4-doc/drivers/block/Config.in
--- linux-2_4-orig/drivers/block/Config.in	Wed Jan 24 05:58:18 2001
+++ linux-2_4-doc/drivers/block/Config.in	Wed Jan 24 05:49:05 2001
@@ -47,3 +47,6 @@
 dep_bool '  Initial RAM disk (initrd) support' CONFIG_BLK_DEV_INITRD $CONFIG_BLK_DEV_RAM
 
+# 
+tristate 'M-Systems DOC device support' CONFIG_BLK_DEV_MSYS_DOC
+
 endmenu
diff -U2 -r -N -x CVS linux-2_4-orig/drivers/block/Makefile linux-2_4-doc/drivers/block/Makefile
--- linux-2_4-orig/drivers/block/Makefile	Wed Jan 24 05:58:14 2001
+++ linux-2_4-doc/drivers/block/Makefile	Wed Jan 24 06:03:49 2001
@@ -34,4 +34,5 @@
 
 subdir-$(CONFIG_PARIDE) += paride
+subdir-$(CONFIG_BLK_DEV_MSYS_DOC) += doc
+obj-$(CONFIG_BLK_DEV_MSYS_DOC) += doc/doc.o

 include $(TOPDIR)/Rules.make
diff -U2 -r -N -x CVS linux-2_4-orig/drivers/block/doc/Makefile linux-2_4-doc/drivers/block/doc/Makefile
--- linux-2_4-orig/drivers/block/doc/Makefile	Wed Dec 31 16:00:00 1969
+++ linux-2_4-doc/drivers/block/doc/Makefile	Wed Jan 24 06:03:27 2001
@@ -0,0 +1,32 @@
+#
+# Makefile for a block device driver
+# for the DiskOnChip flash module from M-Systems
+#
+# Copyright (C) 1998 IGEL GmbH
+#
+# 16.8.98 updated by Ron Dick, rond@m-sys.com
+#
+# 15 January 2001, Tom Rushworth <tbr@lineo.com>
+# Rewritten to use lists instead of if-statements.
+#
+
+O_TARGET := doc.o
+
+list-multi      := doc.o
+
+obj-$(CONFIG_BLK_DEV_MSYS_DOC)	+= doc.o
+
+doc-objs   := fldrvlnx.o libosak.a
+
+include $(TOPDIR)/Rules.make
+
+doc.o: $(doc-objs)
+	$(LD) -r -o $@ $(doc-objs)
+
+libosak.a: libosak.uu
+	uudecode libosak.uu
+
+# Yes, this looks weird, and yes this does seem to be needed sometimes
+# to make sure changes to compat* get noticed for fldrvlnx.o
+fldrvlnx.c: compat20.h compat20.c compat22.h compat22.c compat24.h compat24.c
+	touch $@
diff -U2 -r -N -x CVS linux-2_4-orig/drivers/block/ll_rw_blk.c linux-2_4-doc/drivers/block/ll_rw_blk.c
--- linux-2_4-orig/drivers/block/ll_rw_blk.c	Wed Jan 24 05:58:07 2001
+++ linux-2_4-doc/drivers/block/ll_rw_blk.c	Wed Jan 24 05:48:54 2001
@@ -1272,4 +1272,7 @@
 	mfm_init();
 #endif
+#ifdef CONFIG_BLK_DEV_MSYS_DOC
+	fl_init();
+#endif CONFIG_BLK_DEV_MSYS_DOC
 #ifdef CONFIG_PARIDE
 	{ extern void paride_init(void); paride_init(); };
diff -U2 -r -N -x CVS linux-2_4-orig/include/linux/blk.h linux-2_4-doc/include/linux/blk.h
--- linux-2_4-orig/include/linux/blk.h	Wed Jan 24 05:57:14 2001
+++ linux-2_4-doc/include/linux/blk.h	Wed Jan 24 05:44:20 2001
@@ -64,4 +64,8 @@
 extern int rd_image_start;	/* starting block # of image */
 
+#ifdef CONFIG_BLK_DEV_MSYS_DOC
+extern int fl_init(void);
+#endif CONFIG_BLK_DEV_MSYS_DOC
+
 #ifdef CONFIG_BLK_DEV_INITRD
 
diff -U2 -r -N -x CVS linux-2_4-orig/include/linux/major.h linux-2_4-doc/include/linux/major.h
--- linux-2_4-orig/include/linux/major.h	Wed Jan 24 05:57:14 2001
+++ linux-2_4-doc/include/linux/major.h	Wed Jan 24 05:44:21 2001
@@ -133,4 +133,5 @@
 #define JSFD_MAJOR	99
 
+#define FLASH_MAJOR	100
 #define PHONE_MAJOR	100
 
