diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/Makefile linux-2.4.0-test7/Makefile
--- linux-2.4.0-test7.orig/Makefile	Tue Aug 22 09:31:17 2000
+++ linux-2.4.0-test7/Makefile	Tue Aug 22 10:04:39 2000
@@ -123,6 +123,7 @@
 		 drivers/char/char.o \
 		 drivers/misc/misc.o \
 		 drivers/net/net.o \
+		 drivers/media/media.o \
 	         drivers/parport/parport.a
 LIBS		=$(TOPDIR)/lib/lib.a
 SUBDIRS		=kernel drivers mm fs net ipc lib
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/alpha/config.in linux-2.4.0-test7/arch/alpha/config.in
--- linux-2.4.0-test7.orig/arch/alpha/config.in	Tue Aug 22 09:22:14 2000
+++ linux-2.4.0-test7/arch/alpha/config.in	Tue Aug 22 17:40:54 2000
@@ -302,8 +302,9 @@
 
 source drivers/char/Config.in
 
-
 #source drivers/misc/Config.in
+
+source drivers/media/Config.in
 
 source fs/Config.in
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/arm/config.in linux-2.4.0-test7/arch/arm/config.in
--- linux-2.4.0-test7.orig/arch/arm/config.in	Tue Aug 22 09:31:18 2000
+++ linux-2.4.0-test7/arch/arm/config.in	Tue Aug 22 17:41:06 2000
@@ -324,6 +324,8 @@
 
 #source drivers/misc/Config.in
 
+source drivers/media/Config.in
+
 source fs/Config.in
 
 if [ "$CONFIG_VT" = "y" ]; then
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/i386/config.in linux-2.4.0-test7/arch/i386/config.in
--- linux-2.4.0-test7.orig/arch/i386/config.in	Tue Aug 22 09:31:18 2000
+++ linux-2.4.0-test7/arch/i386/config.in	Tue Aug 22 10:06:32 2000
@@ -320,8 +320,9 @@
 
 source drivers/char/Config.in
 
-
 #source drivers/misc/Config.in
+
+source drivers/media/Config.in
 
 source fs/Config.in
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/ia64/config.in linux-2.4.0-test7/arch/ia64/config.in
--- linux-2.4.0-test7.orig/arch/ia64/config.in	Tue Aug 22 09:31:19 2000
+++ linux-2.4.0-test7/arch/ia64/config.in	Tue Aug 22 17:41:21 2000
@@ -164,6 +164,8 @@
 
 #source drivers/misc/Config.in
 
+source drivers/media/Config.in
+
 source fs/Config.in
 
 if [ "$CONFIG_VT" = "y" ]; then
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/mips/config.in linux-2.4.0-test7/arch/mips/config.in
--- linux-2.4.0-test7.orig/arch/mips/config.in	Tue Aug 22 09:22:53 2000
+++ linux-2.4.0-test7/arch/mips/config.in	Tue Aug 22 17:41:57 2000
@@ -296,6 +296,8 @@
 if [ "$CONFIG_DECSTATION" != "y" -a \
      "$CONFIG_SGI_IP22" != "y" ]; then
    source drivers/char/Config.in
+
+   source drivers/media/Config.in
 fi
 
 if [ "$CONFIG_DECSTATION" = "y" ]; then
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/mips64/config.in linux-2.4.0-test7/arch/mips64/config.in
--- linux-2.4.0-test7.orig/arch/mips64/config.in	Tue Aug 22 09:22:53 2000
+++ linux-2.4.0-test7/arch/mips64/config.in	Tue Aug 22 17:42:04 2000
@@ -210,8 +210,9 @@
 
 source drivers/char/Config.in
 
-
 #source drivers/misc/Config.in
+
+source drivers/media/Config.in
 
 source fs/Config.in
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/ppc/config.in linux-2.4.0-test7/arch/ppc/config.in
--- linux-2.4.0-test7.orig/arch/ppc/config.in	Tue Jul 18 09:14:50 2000
+++ linux-2.4.0-test7/arch/ppc/config.in	Tue Aug 22 17:42:14 2000
@@ -263,6 +263,9 @@
 endmenu
 
 source drivers/char/Config.in
+
+source drivers/media/Config.in
+
 source fs/Config.in
 
 mainmenu_option next_comment
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/arch/s390/config.in linux-2.4.0-test7/arch/s390/config.in
--- linux-2.4.0-test7.orig/arch/s390/config.in	Tue Jul 18 09:14:50 2000
+++ linux-2.4.0-test7/arch/s390/config.in	Tue Aug 22 17:42:32 2000
@@ -59,6 +59,8 @@
 
 # source drivers/char/Config.in
 
+# source drivers/media/Config.in
+
 mainmenu_option next_comment
 comment 'Kernel hacking'
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/Makefile linux-2.4.0-test7/drivers/Makefile
--- linux-2.4.0-test7.orig/drivers/Makefile	Tue Aug 22 09:22:56 2000
+++ linux-2.4.0-test7/drivers/Makefile	Tue Aug 22 09:57:43 2000
@@ -7,7 +7,7 @@
 #
 # Note 2! The CFLAGS definitions are now in the main makefile.
 
-SUB_DIRS     := block char net parport sound misc
+SUB_DIRS     := block char net parport sound misc media
 MOD_SUB_DIRS := $(SUB_DIRS)
 ALL_SUB_DIRS := $(SUB_DIRS) pci sgi ide scsi sbus cdrom isdn pnp i2o \
 				ieee1394 macintosh video dio zorro fc4 \
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/char/Config.in linux-2.4.0-test7/drivers/char/Config.in
--- linux-2.4.0-test7.orig/drivers/char/Config.in	Tue Aug 22 09:31:23 2000
+++ linux-2.4.0-test7/drivers/char/Config.in	Tue Aug 22 10:51:34 2000
@@ -164,98 +164,7 @@
    bool 'Tadpole ANA H8 Support'  CONFIG_H8
 fi
 
-mainmenu_option next_comment
-comment 'Video For Linux'
-
-tristate 'Video For Linux' CONFIG_VIDEO_DEV
-if [ "$CONFIG_VIDEO_DEV" != "n" ]; then
-   bool '  V4L information in proc filesystem' CONFIG_VIDEO_PROC_FS Y
-   dep_tristate '  I2C on parallel port' CONFIG_I2C_PARPORT $CONFIG_PARPORT $CONFIG_I2C
-   comment 'Radio Adapters'
-   dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
-   dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then
-      hex '  RadioTrack i/o port (0x20f or 0x30f)' CONFIG_RADIO_RTRACK_PORT 20f
-   fi
-   dep_tristate '  AIMSlab RadioTrack II support' CONFIG_RADIO_RTRACK2 $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_RTRACK2" = "y" ]; then
-      hex '    RadioTrack II i/o port (0x20c or 0x30c)' CONFIG_RADIO_RTRACK2_PORT 30c
-   fi
-   dep_tristate '  Aztech/Packard Bell Radio' CONFIG_RADIO_AZTECH $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_AZTECH" = "y" ]; then
-      hex '    Aztech/Packard Bell I/O port (0x350 or 0x358)' CONFIG_RADIO_AZTECH_PORT 350
-   fi
-   dep_tristate '  GemTek Radio Card support' CONFIG_RADIO_GEMTEK $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
-      hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
-   fi
-   dep_tristate '  Miro PCM20 Radio' CONFIG_RADIO_MIROPCM20 $CONFIG_VIDEO_DEV
-   dep_tristate '  SF16FMI Radio' CONFIG_RADIO_SF16FMI $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_SF16FMI" = "y" ]; then
-      hex '    SF16FMI I/O port (0x284 or 0x384)' CONFIG_RADIO_SF16FMI_PORT 284
-   fi
-   dep_tristate '  TerraTec ActiveRadio ISA Standalone' CONFIG_RADIO_TERRATEC $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_TERRATEC" = "y" ]; then
-      hex '    Terratec i/o port (normally 0x590)' CONFIG_RADIO_TERRATEC_PORT 590
-   fi
-   dep_tristate '  Trust FM radio card' CONFIG_RADIO_TRUST $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_TRUST" = "y" ]; then
-      hex '    Trust i/o port (usually 0x350 or 0x358)' CONFIG_RADIO_TRUST_PORT 350
-   fi
-   dep_tristate '  Typhoon Radio (a.k.a. EcoRadio)' CONFIG_RADIO_TYPHOON $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_PROC_FS" = "y" ]; then
-      if [ "$CONFIG_RADIO_TYPHOON" != "n" ]; then
-	 bool '    Support for /proc/radio-typhoon' CONFIG_RADIO_TYPHOON_PROC_FS
-      fi
-   fi
-   if [ "$CONFIG_RADIO_TYPHOON" = "y" ]; then
-      hex '  Typhoon I/O port (0x316 or 0x336)' CONFIG_RADIO_TYPHOON_PORT 316
-      int '  Typhoon frequency set when muting the device (kHz)' CONFIG_RADIO_TYPHOON_MUTEFREQ 87500
-   fi
-   dep_tristate '  Zoltrix Radio' CONFIG_RADIO_ZOLTRIX $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_RADIO_ZOLTRIX" = "y" ]; then
-      hex '    ZOLTRIX I/O port (0x20c or 0x30c)' CONFIG_RADIO_ZOLTRIX_PORT 20c
-   fi
-   comment 'Video Adapters'
-   if [ "$CONFIG_I2C_ALGOBIT" = "y" -o "$CONFIG_I2C_ALGOBIT" = "m" ]; then
-      dep_tristate '  BT848 Video For Linux' CONFIG_VIDEO_BT848 $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C_ALGOBIT
-   fi
-   dep_tristate '  Mediavision Pro Movie Studio Video For Linux' CONFIG_VIDEO_PMS $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_ALL_PPC" = "y" ]; then
-      dep_tristate '  PlanB Video-In on PowerMac' CONFIG_VIDEO_PLANB $CONFIG_VIDEO_DEV
-   fi
-   if [ "$CONFIG_PARPORT" != "n" ]; then
-      dep_tristate '  Quickcam BW Video For Linux' CONFIG_VIDEO_BWQCAM $CONFIG_VIDEO_DEV $CONFIG_PARPORT
-      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-	 dep_tristate '  QuickCam Colour Video For Linux (EXPERIMENTAL)' CONFIG_VIDEO_CQCAM $CONFIG_VIDEO_DEV $CONFIG_PARPORT
-      fi
-   fi
-   dep_tristate '  CPiA Video For Linux' CONFIG_VIDEO_CPIA $CONFIG_VIDEO_DEV
-   if [ "$CONFIG_VIDEO_CPIA" != "n" ]; then
-     if [ "CONFIG_PARPORT_1284" != "n" ]; then
-       dep_tristate '    CPiA Parallel Port Lowlevel Support' CONFIG_VIDEO_CPIA_PP $CONFIG_VIDEO_CPIA $CONFIG_PARPORT
-     fi
-     if [ "$CONFIG_USB" != "n" ]; then
-       dep_tristate '    CPiA USB Lowlevel Support' CONFIG_VIDEO_CPIA_USB $CONFIG_VIDEO_CPIA $CONFIG_USB
-     fi
-   fi
-   dep_tristate '  SAA5249 Teletext processor' CONFIG_VIDEO_SAA5249 $CONFIG_VIDEO_DEV $CONFIG_I2C
-   dep_tristate '  SAB3036 tuner' CONFIG_TUNER_3036 $CONFIG_VIDEO_DEV $CONFIG_I2C
-   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-      if [ "$CONFIG_SGI" = "y" ]; then
-         dep_tristate '  SGI Vino Video For Linux (EXPERIMENTAL)' CONFIG_VIDEO_VINO $CONFIG_VIDEO_DEV $CONFIG_SGI
-      fi
-      dep_tristate '  Stradis 4:2:2 MPEG-2 video driver  (EXPERIMENTAL)' CONFIG_VIDEO_STRADIS $CONFIG_VIDEO_DEV $CONFIG_PCI
-   fi
-   dep_tristate '  Zoran ZR36057/36060 Video For Linux' CONFIG_VIDEO_ZORAN $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C
-   dep_tristate '    Include support for Iomega Buz' CONFIG_VIDEO_BUZ $CONFIG_VIDEO_ZORAN
-   dep_tristate '  Zoran ZR36120/36125 Video For Linux' CONFIG_VIDEO_ZR36120 $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C
-fi
-
-endmenu
-
 tristate 'Double Talk PC internal speech card support' CONFIG_DTLK
-
 tristate 'Siemens R3964 line discipline' CONFIG_R3964
 tristate 'Applicom intelligent fieldbus card support' CONFIG_APPLICOM
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/char/Makefile linux-2.4.0-test7/drivers/char/Makefile
--- linux-2.4.0-test7.orig/drivers/char/Makefile	Tue Aug 22 09:31:23 2000
+++ linux-2.4.0-test7/drivers/char/Makefile	Tue Aug 22 10:52:46 2000
@@ -36,12 +36,11 @@
 # All of the (potential) objects that export symbols.
 # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
 
-export-objs     :=	busmouse.o console.o i2c-old.o keyboard.o sysrq.o \
-			misc.o pty.o random.o selection.o serial.o videodev.o \
-			tty_io.o bttv-if.o cpia.o
+export-objs     :=	busmouse.o console.o keyboard.o sysrq.o \
+			misc.o pty.o random.o selection.o serial.o \
+			tty_io.o
 
-list-multi	:=	bttv.o
-bttv-objs	:=	bttv-driver.o bttv-cards.o bttv-if.o
+list-multi	:=	
 
 KEYMAP   =defkeymap.o
 KEYBD    =pc_keyb.o
@@ -176,45 +175,12 @@
   obj-$(CONFIG_NVRAM) += nvram.o
 endif
 
-obj-$(CONFIG_VIDEO_DEV) += videodev.o
-
 obj-$(CONFIG_21285_WATCHDOG) += wdt285.o
 obj-$(CONFIG_977_WATCHDOG) += wdt977.o
 obj-$(CONFIG_I810_TCO) += i810-tco.o
 obj-$(CONFIG_DS1620) += ds1620.o
 obj-$(CONFIG_INTEL_RNG) += i810_rng.o
 
-obj-$(CONFIG_BUS_I2C) += i2c-old.o
-obj-$(CONFIG_VIDEO_BT848) += bttv.o msp3400.o \
-	tda7432.o tda8425.o tda985x.o tda9875.o tea6300.o tea6420.o tuner.o
-obj-$(CONFIG_SOUND_TVMIXER) += tvmixer.o
-
-obj-$(CONFIG_VIDEO_ZR36120) += zoran.o i2c-old.o tuner.o saa7110.o saa7111.o saa7185.o 
-obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o i2c-old.o
-obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o i2c-old.o
-obj-$(CONFIG_VIDEO_CQCAM) += c-qcam.o
-obj-$(CONFIG_VIDEO_BWQCAM) += bw-qcam.o
-obj-$(CONFIG_VIDEO_ZORAN) += buz.o i2c-old.o saa7110.o saa7111.o saa7185.o 
-obj-$(CONFIG_VIDEO_LML33) += bt856.o bt819.o
-obj-$(CONFIG_VIDEO_PMS) += pms.o
-obj-$(CONFIG_VIDEO_PLANB) += planb.o
-obj-$(CONFIG_VIDEO_VINO) += vino.o
-obj-$(CONFIG_VIDEO_STRADIS) += stradis.o
-obj-$(CONFIG_VIDEO_CPIA) += cpia.o
-obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o
-obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o
-obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o
-obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o
-obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o
-obj-$(CONFIG_RADIO_CADET) += radio-cadet.o
-obj-$(CONFIG_RADIO_TYPHOON) += radio-typhoon.o
-obj-$(CONFIG_RADIO_TERRATEC) += radio-terratec.o
-obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o
-obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
-obj-$(CONFIG_RADIO_MIROPCM20) += radio-miropcm20.o
-obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
-obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
-obj-$(CONFIG_TUNER_3036) += tuner-3036.o
 obj-$(CONFIG_QIC02_TAPE) += tpqic02.o
 
 ifeq ($(CONFIG_FTAPE),y)
@@ -302,10 +268,3 @@
 
 defkeymap.c: defkeymap.map
 	loadkeys --mktable defkeymap.map > defkeymap.c
-
-zoran.o: zr36120.o zr36120_i2c.o zr36120_mem.o
-	$(LD) $(LD_RFLAG) -r -o $@ zr36120.o zr36120_i2c.o zr36120_mem.o
-
-bttv.o: $(bttv-objs)
-	$(LD) $(LD_RFLAG) -r -o $@ $(bttv-objs)
-
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/char/radio-miropcm20.c linux-2.4.0-test7/drivers/char/radio-miropcm20.c
--- linux-2.4.0-test7.orig/drivers/char/radio-miropcm20.c	Mon Mar 13 08:56:56 2000
+++ linux-2.4.0-test7/drivers/char/radio-miropcm20.c	Tue Aug 22 11:27:56 2000
@@ -10,7 +10,7 @@
 #include <linux/init.h>			/* Initdata			*/
 #include <asm/uaccess.h>		/* copy to/from user		*/
 #include <linux/videodev.h>		/* kernel radio structs		*/
-#include "../sound/miroaci.h"		/* ACI Control by acimixer      */
+#include "../../sound/miroaci.h"	/* ACI Control by acimixer      */
 
 static int users = 0;
 
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/Config.in linux-2.4.0-test7/drivers/media/Config.in
--- linux-2.4.0-test7.orig/drivers/media/Config.in	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/Config.in	Tue Aug 22 10:15:29 2000
@@ -0,0 +1,11 @@
+#
+# Multimedia device configuration
+#
+mainmenu_option next_comment
+comment 'Multimedia devices'
+
+# wow, you just got to love this :)
+source drivers/media/video/Config.in
+source drivers/media/radio/Config.in
+
+endmenu
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/Makefile linux-2.4.0-test7/drivers/media/Makefile
--- linux-2.4.0-test7.orig/drivers/media/Makefile	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/Makefile	Tue Aug 22 11:24:24 2000
@@ -0,0 +1,21 @@
+#
+# Makefile for the kernel multimedia device drivers.
+#
+# Note! Dependencies are done automagically by 'make dep', which also
+# removes any old dependencies. DON'T put your own dependencies here
+# unless it's something special (ie not a .c file).
+#
+# Note 2! The CFLAGS definitions are now inherited from the
+# parent makes..
+#
+
+MEDIAS = $(join $(SUB_DIRS),$(SUB_DIRS:%=/%.o))
+
+SUB_DIRS     := video radio
+MOD_SUB_DIRS := $(SUB_DIRS)
+ALL_SUB_DIRS := $(SUB_DIRS)
+
+O_TARGET     := media.o
+O_OBJS       := $(MEDIAS)
+
+include $(TOPDIR)/Rules.make
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/radio/Config.in linux-2.4.0-test7/drivers/media/radio/Config.in
--- linux-2.4.0-test7.orig/drivers/media/radio/Config.in	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/radio/Config.in	Tue Aug 22 12:12:02 2000
@@ -0,0 +1,54 @@
+#
+# Multimedia Video device configuration
+#
+mainmenu_option next_comment
+
+if [ "$CONFIG_VIDEO_DEV" != "n" ]; then
+   comment 'Radio Adapters'
+   dep_tristate '  ADS Cadet AM/FM Tuner' CONFIG_RADIO_CADET $CONFIG_VIDEO_DEV
+   dep_tristate '  AIMSlab RadioTrack (aka RadioReveal) support' CONFIG_RADIO_RTRACK $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_RTRACK" = "y" ]; then
+      hex '  RadioTrack i/o port (0x20f or 0x30f)' CONFIG_RADIO_RTRACK_PORT 20f
+   fi
+   dep_tristate '  AIMSlab RadioTrack II support' CONFIG_RADIO_RTRACK2 $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_RTRACK2" = "y" ]; then
+      hex '    RadioTrack II i/o port (0x20c or 0x30c)' CONFIG_RADIO_RTRACK2_PORT 30c
+   fi
+   dep_tristate '  Aztech/Packard Bell Radio' CONFIG_RADIO_AZTECH $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_AZTECH" = "y" ]; then
+      hex '    Aztech/Packard Bell I/O port (0x350 or 0x358)' CONFIG_RADIO_AZTECH_PORT 350
+   fi
+   dep_tristate '  GemTek Radio Card support' CONFIG_RADIO_GEMTEK $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_GEMTEK" = "y" ]; then
+      hex '    GemTek i/o port (0x20c, 0x30c, 0x24c or 0x34c)' CONFIG_RADIO_GEMTEK_PORT 34c
+   fi
+   dep_tristate '  Miro PCM20 Radio' CONFIG_RADIO_MIROPCM20 $CONFIG_VIDEO_DEV
+   dep_tristate '  SF16FMI Radio' CONFIG_RADIO_SF16FMI $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_SF16FMI" = "y" ]; then
+      hex '    SF16FMI I/O port (0x284 or 0x384)' CONFIG_RADIO_SF16FMI_PORT 284
+   fi
+   dep_tristate '  TerraTec ActiveRadio ISA Standalone' CONFIG_RADIO_TERRATEC $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_TERRATEC" = "y" ]; then
+      hex '    Terratec i/o port (normally 0x590)' CONFIG_RADIO_TERRATEC_PORT 590
+   fi
+   dep_tristate '  Trust FM radio card' CONFIG_RADIO_TRUST $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_TRUST" = "y" ]; then
+      hex '    Trust i/o port (usually 0x350 or 0x358)' CONFIG_RADIO_TRUST_PORT 350
+   fi
+   dep_tristate '  Typhoon Radio (a.k.a. EcoRadio)' CONFIG_RADIO_TYPHOON $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_PROC_FS" = "y" ]; then
+      if [ "$CONFIG_RADIO_TYPHOON" != "n" ]; then
+	 bool '    Support for /proc/radio-typhoon' CONFIG_RADIO_TYPHOON_PROC_FS
+      fi
+   fi
+   if [ "$CONFIG_RADIO_TYPHOON" = "y" ]; then
+      hex '  Typhoon I/O port (0x316 or 0x336)' CONFIG_RADIO_TYPHOON_PORT 316
+      int '  Typhoon frequency set when muting the device (kHz)' CONFIG_RADIO_TYPHOON_MUTEFREQ 87500
+   fi
+   dep_tristate '  Zoltrix Radio' CONFIG_RADIO_ZOLTRIX $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_RADIO_ZOLTRIX" = "y" ]; then
+      hex '    ZOLTRIX I/O port (0x20c or 0x30c)' CONFIG_RADIO_ZOLTRIX_PORT 20c
+   fi
+fi
+
+endmenu
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/radio/Makefile linux-2.4.0-test7/drivers/media/radio/Makefile
--- linux-2.4.0-test7.orig/drivers/media/radio/Makefile	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/radio/Makefile	Tue Aug 22 09:57:08 2000
@@ -0,0 +1,75 @@
+#
+# Makefile for the kernel character device drivers.
+#
+# Note! Dependencies are done automagically by 'make dep', which also
+# removes any old dependencies. DON'T put your own dependencies here
+# unless it's something special (ie not a .c file).
+#
+# Note 2! The CFLAGS definitions are now inherited from the
+# parent makes..
+#
+
+O_OBJS		:=
+OX_OBJS		:=
+M_OBJS		:=
+MX_OBJS		:=
+
+# Object file lists.
+
+obj-y		:=
+obj-m		:=
+obj-n		:=
+obj-		:=
+
+SUB_DIRS     := 
+MOD_SUB_DIRS := $(SUB_DIRS)
+ALL_SUB_DIRS := $(SUB_DIRS)
+
+O_TARGET := radio.o
+
+# All of the (potential) objects that export symbols.
+# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
+
+export-objs     :=	
+
+list-multi	:=	
+
+obj-$(CONFIG_RADIO_AZTECH) += radio-aztech.o
+obj-$(CONFIG_RADIO_RTRACK2) += radio-rtrack2.o
+obj-$(CONFIG_RADIO_SF16FMI) += radio-sf16fmi.o
+obj-$(CONFIG_RADIO_CADET) += radio-cadet.o
+obj-$(CONFIG_RADIO_TYPHOON) += radio-typhoon.o
+obj-$(CONFIG_RADIO_TERRATEC) += radio-terratec.o
+obj-$(CONFIG_RADIO_RTRACK) += radio-aimslab.o
+obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
+obj-$(CONFIG_RADIO_MIROPCM20) += radio-miropcm20.o
+obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
+obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
+
+# Extract lists of the multi-part drivers.
+# The 'int-*' lists are the intermediate files used to build the multi's.
+
+multi-y         := $(filter $(list-multi), $(obj-y))
+multi-m         := $(filter $(list-multi), $(obj-m))
+int-y           := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
+int-m           := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
+
+# Files that are both resident and modular: remove from modular.
+
+obj-m           := $(filter-out $(obj-y), $(obj-m))
+int-m           := $(filter-out $(int-y), $(int-m))
+
+# Take multi-part drivers out of obj-y and put components in.
+
+obj-y           := $(filter-out $(list-multi), $(obj-y)) $(int-y)
+
+# Translate to Rules.make lists.
+
+O_OBJS          := $(filter-out $(export-objs), $(obj-y))
+OX_OBJS         := $(filter     $(export-objs), $(obj-y))
+M_OBJS          := $(sort $(filter-out $(export-objs), $(obj-m)))
+MX_OBJS         := $(sort $(filter     $(export-objs), $(obj-m)))
+MI_OBJS		:= $(sort $(filter-out $(export-objs), $(int-m)))
+MIX_OBJS	:= $(sort $(filter     $(export-objs), $(int-m)))
+
+include $(TOPDIR)/Rules.make
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/video/Config.in linux-2.4.0-test7/drivers/media/video/Config.in
--- linux-2.4.0-test7.orig/drivers/media/video/Config.in	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/video/Config.in	Tue Aug 22 10:12:35 2000
@@ -0,0 +1,48 @@
+#
+# Multimedia Video device configuration
+#
+mainmenu_option next_comment
+comment 'Video For Linux'
+
+tristate 'Video For Linux' CONFIG_VIDEO_DEV
+if [ "$CONFIG_VIDEO_DEV" != "n" ]; then
+   bool '  V4L information in proc filesystem' CONFIG_VIDEO_PROC_FS Y
+   dep_tristate '  I2C on parallel port' CONFIG_I2C_PARPORT $CONFIG_PARPORT $CONFIG_I2C
+
+   comment 'Video Adapters'
+   if [ "$CONFIG_I2C_ALGOBIT" = "y" -o "$CONFIG_I2C_ALGOBIT" = "m" ]; then
+      dep_tristate '  BT848 Video For Linux' CONFIG_VIDEO_BT848 $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C_ALGOBIT
+   fi
+   dep_tristate '  Mediavision Pro Movie Studio Video For Linux' CONFIG_VIDEO_PMS $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_ALL_PPC" = "y" ]; then
+      dep_tristate '  PlanB Video-In on PowerMac' CONFIG_VIDEO_PLANB $CONFIG_VIDEO_DEV
+   fi
+   if [ "$CONFIG_PARPORT" != "n" ]; then
+      dep_tristate '  Quickcam BW Video For Linux' CONFIG_VIDEO_BWQCAM $CONFIG_VIDEO_DEV $CONFIG_PARPORT
+      if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+	 dep_tristate '  QuickCam Colour Video For Linux (EXPERIMENTAL)' CONFIG_VIDEO_CQCAM $CONFIG_VIDEO_DEV $CONFIG_PARPORT
+      fi
+   fi
+   dep_tristate '  CPiA Video For Linux' CONFIG_VIDEO_CPIA $CONFIG_VIDEO_DEV
+   if [ "$CONFIG_VIDEO_CPIA" != "n" ]; then
+     if [ "CONFIG_PARPORT_1284" != "n" ]; then
+       dep_tristate '    CPiA Parallel Port Lowlevel Support' CONFIG_VIDEO_CPIA_PP $CONFIG_VIDEO_CPIA $CONFIG_PARPORT
+     fi
+     if [ "$CONFIG_USB" != "n" ]; then
+       dep_tristate '    CPiA USB Lowlevel Support' CONFIG_VIDEO_CPIA_USB $CONFIG_VIDEO_CPIA $CONFIG_USB
+     fi
+   fi
+   dep_tristate '  SAA5249 Teletext processor' CONFIG_VIDEO_SAA5249 $CONFIG_VIDEO_DEV $CONFIG_I2C
+   dep_tristate '  SAB3036 tuner' CONFIG_TUNER_3036 $CONFIG_VIDEO_DEV $CONFIG_I2C
+   if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
+      if [ "$CONFIG_SGI" = "y" ]; then
+         dep_tristate '  SGI Vino Video For Linux (EXPERIMENTAL)' CONFIG_VIDEO_VINO $CONFIG_VIDEO_DEV $CONFIG_SGI
+      fi
+      dep_tristate '  Stradis 4:2:2 MPEG-2 video driver  (EXPERIMENTAL)' CONFIG_VIDEO_STRADIS $CONFIG_VIDEO_DEV $CONFIG_PCI
+   fi
+   dep_tristate '  Zoran ZR36057/36060 Video For Linux' CONFIG_VIDEO_ZORAN $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C
+   dep_tristate '    Include support for Iomega Buz' CONFIG_VIDEO_BUZ $CONFIG_VIDEO_ZORAN
+   dep_tristate '  Zoran ZR36120/36125 Video For Linux' CONFIG_VIDEO_ZR36120 $CONFIG_VIDEO_DEV $CONFIG_PCI $CONFIG_I2C
+fi
+
+endmenu
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/media/video/Makefile linux-2.4.0-test7/drivers/media/video/Makefile
--- linux-2.4.0-test7.orig/drivers/media/video/Makefile	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/media/video/Makefile	Tue Aug 22 12:21:51 2000
@@ -0,0 +1,96 @@
+#
+# Makefile for the kernel character device drivers.
+#
+# Note! Dependencies are done automagically by 'make dep', which also
+# removes any old dependencies. DON'T put your own dependencies here
+# unless it's something special (ie not a .c file).
+#
+# Note 2! The CFLAGS definitions are now inherited from the
+# parent makes..
+#
+
+O_OBJS		:=
+OX_OBJS		:=
+M_OBJS		:=
+MX_OBJS		:=
+
+# Object file lists.
+
+obj-y		:=
+obj-m		:=
+obj-n		:=
+obj-		:=
+
+SUB_DIRS     := 
+MOD_SUB_DIRS := $(SUB_DIRS)
+ALL_SUB_DIRS := $(SUB_DIRS)
+
+O_TARGET := video.o
+
+# All of the (potential) objects that export symbols.
+# This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.
+
+export-objs     :=	i2c-old.o videodev.o bttv-if.o cpia.o
+
+list-multi	:=	bttv.o zoran.o
+bttv-objs	:=	bttv-driver.o bttv-cards.o bttv-if.o
+zoran-objs      :=	zr36120.o zr36120_i2c.o zr36120_mem.o
+
+obj-$(CONFIG_VIDEO_DEV) += videodev.o
+
+obj-$(CONFIG_BUS_I2C) += i2c-old.o
+obj-$(CONFIG_VIDEO_BT848) += bttv.o msp3400.o \
+	tda7432.o tda8425.o tda985x.o tda9875.o tea6300.o tea6420.o tuner.o
+obj-$(CONFIG_SOUND_TVMIXER) += tvmixer.o
+
+obj-$(CONFIG_VIDEO_ZR36120) += zoran.o i2c-old.o tuner.o saa7110.o saa7111.o saa7185.o 
+obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o i2c-old.o
+obj-$(CONFIG_VIDEO_SAA5249) += saa5249.o i2c-old.o
+obj-$(CONFIG_VIDEO_CQCAM) += c-qcam.o
+obj-$(CONFIG_VIDEO_BWQCAM) += bw-qcam.o
+obj-$(CONFIG_VIDEO_ZORAN) += buz.o i2c-old.o saa7110.o saa7111.o saa7185.o 
+obj-$(CONFIG_VIDEO_LML33) += bt856.o bt819.o
+obj-$(CONFIG_VIDEO_PMS) += pms.o
+obj-$(CONFIG_VIDEO_PLANB) += planb.o
+obj-$(CONFIG_VIDEO_VINO) += vino.o
+obj-$(CONFIG_VIDEO_STRADIS) += stradis.o
+obj-$(CONFIG_VIDEO_CPIA) += cpia.o
+obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o
+obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o
+obj-$(CONFIG_TUNER_3036) += tuner-3036.o
+
+# Extract lists of the multi-part drivers.
+# The 'int-*' lists are the intermediate files used to build the multi's.
+
+multi-y         := $(filter $(list-multi), $(obj-y))
+multi-m         := $(filter $(list-multi), $(obj-m))
+int-y           := $(sort $(foreach m, $(multi-y), $($(basename $(m))-objs)))
+int-m           := $(sort $(foreach m, $(multi-m), $($(basename $(m))-objs)))
+
+# Files that are both resident and modular: remove from modular.
+
+obj-m           := $(filter-out $(obj-y), $(obj-m))
+int-m           := $(filter-out $(int-y), $(int-m))
+
+# Take multi-part drivers out of obj-y and put components in.
+
+obj-y           := $(filter-out $(list-multi), $(obj-y)) $(int-y)
+
+# Translate to Rules.make lists.
+
+O_OBJS          := $(filter-out $(export-objs), $(obj-y))
+OX_OBJS         := $(filter     $(export-objs), $(obj-y))
+M_OBJS          := $(sort $(filter-out $(export-objs), $(obj-m)))
+MX_OBJS         := $(sort $(filter     $(export-objs), $(obj-m)))
+MI_OBJS		:= $(sort $(filter-out $(export-objs), $(int-m)))
+MIX_OBJS	:= $(sort $(filter     $(export-objs), $(int-m)))
+
+include $(TOPDIR)/Rules.make
+
+fastdep:
+
+zoran.o: zr36120.o zr36120_i2c.o zr36120_mem.o
+	$(LD) $(LD_RFLAG) -r -o $@ zr36120.o zr36120_i2c.o zr36120_mem.o
+
+bttv.o: $(bttv-objs)
+	$(LD) $(LD_RFLAG) -r -o $@ $(bttv-objs)
diff -uNr --exclude-from=dontdiff linux-2.4.0-test7.orig/drivers/move linux-2.4.0-test7/drivers/move
--- linux-2.4.0-test7.orig/drivers/move	Thu Jan  1 01:00:00 1970
+++ linux-2.4.0-test7/drivers/move	Tue Aug 22 17:35:35 2000
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+mkdir -p media/radio media/video
+
+mv char/radio-aimslab.c media/radio/radio-aimslab.c
+mv char/radio-aztech.c media/radio/radio-aztech.c
+mv char/radio-cadet.c media/radio/radio-cadet.c
+mv char/radio-gemtek.c media/radio/radio-gemtek.c
+mv char/radio-miropcm20.c media/radio/radio-miropcm20.c
+mv char/radio-rtrack2.c media/radio/radio-rtrack2.c
+mv char/radio-sf16fmi.c media/radio/radio-sf16fmi.c
+mv char/radio-terratec.c media/radio/radio-terratec.c
+mv char/radio-trust.c media/radio/radio-trust.c
+mv char/radio-typhoon.c media/radio/radio-typhoon.c
+mv char/radio-zoltrix.c media/radio/radio-zoltrix.c
+mv char/audiochip.h media/video/audiochip.h
+mv char/bt848.h media/video/bt848.h
+mv char/bttv-cards.c media/video/bttv-cards.c
+mv char/bttv-driver.c media/video/bttv-driver.c
+mv char/bttv-if.c media/video/bttv-if.c
+mv char/bttv.h media/video/bttv.h
+mv char/buz.c media/video/buz.c
+mv char/buz.h media/video/buz.h
+mv char/bw-qcam.c media/video/bw-qcam.c
+mv char/bw-qcam.h media/video/bw-qcam.h
+mv char/c-qcam.c media/video/c-qcam.c
+mv char/cpia.c media/video/cpia.c
+mv char/cpia.h media/video/cpia.h
+mv char/cpia_pp.c media/video/cpia_pp.c
+mv char/cpia_usb.c media/video/cpia_usb.c
+mv char/i2c-old.c media/video/i2c-old.c
+mv char/i2c-parport.c media/video/i2c-parport.c
+mv char/msp3400.c media/video/msp3400.c
+mv char/planb.c media/video/planb.c
+mv char/planb.h media/video/planb.h
+mv char/pms.c media/video/pms.c
+mv char/saa5249.c media/video/saa5249.c
+mv char/saa7110.c media/video/saa7110.c
+mv char/saa7111.c media/video/saa7111.c
+mv char/saa7121.h media/video/saa7121.h
+mv char/saa7146.h media/video/saa7146.h
+mv char/saa7146reg.h media/video/saa7146reg.h
+mv char/saa7185.c media/video/saa7185.c
+mv char/saa7196.h media/video/saa7196.h
+mv char/stallion.c media/video/stallion.c
+mv char/stradis.c media/video/stradis.c
+mv char/tda7432.c media/video/tda7432.c
+mv char/tda8425.c media/video/tda8425.c
+mv char/tda985x.c media/video/tda985x.c
+mv char/tda9875.c media/video/tda9875.c
+mv char/tea6300.c media/video/tea6300.c
+mv char/tea6420.c media/video/tea6420.c
+mv char/tuner-3036.c media/video/tuner-3036.c
+mv char/tuner.c media/video/tuner.c
+mv char/tuner.h media/video/tuner.h
+mv char/tvmixer.c media/video/tvmixer.c
+mv char/videodev.c media/video/videodev.c
+mv char/vino.c media/video/vino.c
+mv char/zr36057.h media/video/zr36057.h
+mv char/zr36060.h media/video/zr36060.h
+mv char/zr36120.c media/video/zr36120.c
+mv char/zr36120.h media/video/zr36120.h
+mv char/zr36120_i2c.c media/video/zr36120_i2c.c
+mv char/zr36120_mem.c media/video/zr36120_mem.c
+mv char/zr36120_mem.h media/video/zr36120_mem.h
+
+echo Please remove this file after running

