diff -r -u linux-2.4.9/Documentation/Configure.help linux/Documentation/Configure.help
--- linux-2.4.9/Documentation/Configure.help	Tue Sep 18 19:45:52 2001
+++ linux/Documentation/Configure.help	Tue Sep 18 19:53:28 2001
@@ -17562,6 +17562,14 @@
   otherwise say N. This will not work with the Creative Webcam III.
   It is also available as a module (cpia_usb.o).
 
+CPiA2 Video For Linux
+CONFIG_VIDEO_CPIA2
+  This is the video4linux driver for cameras based on the ST CPiA2 chips.
+  If you have one of these cameras say Y here and select USB lowlevel
+  support below.
+
+  This driver is also available as a module (cpia2.o).
+
 Mediavision Pro Movie Studio Video For Linux
 CONFIG_VIDEO_PMS
   Say Y if you have such a thing. This driver is also available as a
diff -r -u linux-2.4.9/drivers/media/video/Config.in linux/drivers/media/video/Config.in
--- linux-2.4.9/drivers/media/video/Config.in	Tue Sep 18 19:45:21 2001
+++ linux/drivers/media/video/Config.in	Tue Sep 18 19:53:28 2001
@@ -37,6 +37,7 @@
     dep_tristate '    CPiA USB Lowlevel Support' CONFIG_VIDEO_CPIA_USB $CONFIG_VIDEO_CPIA $CONFIG_USB
   fi
 fi
+dep_tristate '  CPiA2 Video For Linux' CONFIG_VIDEO_CPIA2 $CONFIG_VIDEO_DEV $CONFIG_USB
 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
diff -r -u linux-2.4.9/drivers/media/video/Makefile linux/drivers/media/video/Makefile
--- linux-2.4.9/drivers/media/video/Makefile	Tue Sep 18 19:45:21 2001
+++ linux/drivers/media/video/Makefile	Tue Sep 18 19:53:27 2001
@@ -27,9 +27,10 @@
 
 export-objs     :=	i2c-old.o videodev.o bttv-if.o cpia.o
 
-list-multi	:=	bttv.o zoran.o
+list-multi	:=	bttv.o zoran.o cpia2.o
 bttv-objs	:=	bttv-driver.o bttv-cards.o bttv-if.o
 zoran-objs      :=	zr36120.o zr36120_i2c.o zr36120_mem.o
+cpia2-objs      :=	cpia2_proc.o cpia2_v4l.o cpia2_core.o cpia2_usb.o
 
 obj-$(CONFIG_VIDEO_DEV) += videodev.o
 
@@ -53,6 +54,7 @@
 obj-$(CONFIG_VIDEO_CPIA) += cpia.o
 obj-$(CONFIG_VIDEO_CPIA_PP) += cpia_pp.o
 obj-$(CONFIG_VIDEO_CPIA_USB) += cpia_usb.o
+obj-$(CONFIG_VIDEO_CPIA2) += cpia2.o
 obj-$(CONFIG_VIDEO_MEYE) += meye.o
 obj-$(CONFIG_TUNER_3036) += tuner-3036.o
 
@@ -82,3 +84,6 @@
 
 bttv.o: $(bttv-objs)
 	$(LD) $(LD_RFLAG) -r -o $@ $(bttv-objs)
+
+cpia2.o: $(cpia2-objs)
+	$(LD) $(LD_RFLAG) -r -o $@ $(cpia2-objs)
diff -r -u linux-2.4.9/drivers/media/video/videodev.c linux/drivers/media/video/videodev.c
--- linux-2.4.9/drivers/media/video/videodev.c	Tue Sep 18 19:45:55 2001
+++ linux/drivers/media/video/videodev.c	Tue Sep 18 19:53:26 2001
@@ -69,6 +69,9 @@
 #ifdef CONFIG_VIDEO_CPIA
 extern int cpia_init(struct video_init *);
 #endif
+#ifdef CONFIG_VIDEO_CPIA2
+extern int cpia2_init(struct video_init *);
+#endif
 #ifdef CONFIG_VIDEO_PLANB
 extern int init_planbs(struct video_init *);
 #endif
@@ -79,6 +82,9 @@
 #endif	
 #ifdef CONFIG_VIDEO_CPIA
 	{"cpia", cpia_init},
+#endif	
+#ifdef CONFIG_VIDEO_CPIA2
+	{"cpia2", cpia2_init},
 #endif	
 #ifdef CONFIG_VIDEO_PLANB
 	{"planb", init_planbs},
