diff -U2 -r -N -x CVS linux-2_0_38-orig/Documentation/Configure.help linux-2_0_38-doc/Documentation/Configure.help
--- linux-2_0_38-orig/Documentation/Configure.help	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/Documentation/Configure.help	Thu Nov  9 15:19:19 2000
@@ -367,4 +367,28 @@
   information about this driver.
 
+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_0_38-orig/drivers/block/Config.in linux-2_0_38-doc/drivers/block/Config.in
--- linux-2_0_38-orig/drivers/block/Config.in	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/drivers/block/Config.in	Thu Nov  9 15:19:19 2000
@@ -81,3 +81,6 @@
 fi
 
+# 
+tristate 'M-Systems DOC device support' CONFIG_BLK_DEV_MSYS_DOC
+
 endmenu
diff -U2 -r -N -x CVS linux-2_0_38-orig/drivers/block/Makefile linux-2_0_38-doc/drivers/block/Makefile
--- linux-2_0_38-orig/drivers/block/Makefile	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/drivers/block/Makefile	Thu Nov  9 15:19:19 2000
@@ -167,4 +167,13 @@
 endif
 
+ifeq ($(CONFIG_BLK_DEV_MSYS_DOC),y)
+SUB_DIRS	+= doc
+MOD_IN_SUB_DIRS	+= doc
+L_OBJS          += doc/doc.o
+else
+  ifeq ($(CONFIG_BLK_DEV_MSYS_DOC),m)
+  MOD_SUB_DIRS	+= doc
+  endif
+endif
 
 include $(TOPDIR)/Rules.make
diff -U2 -r -N -x CVS linux-2_0_38-orig/drivers/block/doc/Makefile linux-2_0_38-doc/drivers/block/doc/Makefile
--- linux-2_0_38-orig/drivers/block/doc/Makefile	Wed Dec 31 16:00:00 1969
+++ linux-2_0_38-doc/drivers/block/doc/Makefile	Tue Jan 23 12:27:16 2001
@@ -0,0 +1,39 @@
+#
+# 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
+
+O_TARGET := doc.o
+O_OBJS := fldrvlnx.o libosak.a 
+M_OBJS   := $(O_TARGET)
+
+FL_DEBUG = -DFL_DEBUG=1 -DDEBUG_FL=1 -DDEBUG_FL_MORE=1 -DDEBUG_FL_INIT=1
+
+ifndef TOPDIR
+TOPDIR = /usr/src/linux
+endif
+
+ifndef CFLAGS
+CFLAGS = -I$(TOPDIR)/include -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strength-reduce $(FL_DEBUG)
+endif
+
+all: $(O_TARGET)
+
+clean:
+	-@rm -f $(O_TARGET) *.o *.a 
+test: 
+	@echo $(TOPDIR)
+	@echo $(CFLAGS)
+
+libosak.a: libosak.uu
+	uudecode libosak.uu
+
+fldrvlnx.c: compat20.h compat20.c compat22.h compat22.c compat24.h compat24.c
+	touch $@
+
+# Real actions are started from Rules.make
+include $(TOPDIR)/Rules.make
+
diff -U2 -r -N -x CVS linux-2_0_38-orig/drivers/block/ll_rw_blk.c linux-2_0_38-doc/drivers/block/ll_rw_blk.c
--- linux-2_0_38-orig/drivers/block/ll_rw_blk.c	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/drivers/block/ll_rw_blk.c	Thu Nov  9 15:19:19 2000
@@ -802,4 +802,7 @@
 	md_init();
 #endif CONFIG_BLK_DEV_MD
+#ifdef CONFIG_BLK_DEV_MSYS_DOC
+	fl_init();
+#endif CONFIG_BLK_DEV_MSYS_DOC
 	return 0;
 }
diff -U2 -r -N -x CVS linux-2_0_38-orig/include/linux/blk.h linux-2_0_38-doc/include/linux/blk.h
--- linux-2_0_38-orig/include/linux/blk.h	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/include/linux/blk.h	Thu Nov  9 15:19:19 2000
@@ -88,4 +88,7 @@
 extern int md_init(void);
 #endif CONFIG_BLK_DEV_MD
+#ifdef CONFIG_BLK_DEV_MSYS_DOC
+extern int fl_init(void);
+#endif CONFIG_BLK_DEV_MSYS_DOC
 
 extern void set_device_ro(kdev_t dev,int flag);
diff -U2 -r -N -x CVS linux-2_0_38-orig/include/linux/major.h linux-2_0_38-doc/include/linux/major.h
--- linux-2_0_38-orig/include/linux/major.h	Thu Nov  9 15:19:19 2000
+++ linux-2_0_38-doc/include/linux/major.h	Thu Nov  9 15:19:19 2000
@@ -84,4 +84,6 @@
 #define SPECIALIX_CALLOUT_MAJOR 76
 
+#define FLASH_MAJOR		100
+
 /*
  * Tests for SCSI devices.
