V4L/DVB (4086): There were a cross-reference on cpia and cpia_pp/cpia_usb

Those cross-references were generating an error:
*** Warning: "cpia_pp_init" [/home/v4l/master/v4l/cpia.ko] undefined!
*** Warning: "cpia_usb/_init" [/home/v4l/master/v4l/cpia.ko] undefined!

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/video/cpia.c b/drivers/media/video/cpia.c
index b8d4913..95c5ace 100644
--- a/drivers/media/video/cpia.c
+++ b/drivers/media/video/cpia.c
@@ -47,13 +47,6 @@
 
 #include "cpia.h"
 
-#ifdef CONFIG_VIDEO_CPIA_PP
-extern int cpia_pp_init(void);
-#endif
-#ifdef CONFIG_VIDEO_CPIA_USB
-extern int cpia_usb_init(void);
-#endif
-
 static int video_nr = -1;
 
 #ifdef MODULE
@@ -4047,13 +4040,6 @@
 	proc_cpia_create();
 #endif
 
-#ifdef CONFIG_VIDEO_CPIA_PP
-	cpia_pp_init();
-#endif
-#ifdef CONFIG_VIDEO_CPIA_USB
-	cpia_usb_init();
-#endif
-
 	return 0;
 }
 
diff --git a/drivers/media/video/cpia_pp.c b/drivers/media/video/cpia_pp.c
index 0b00e60..4c89bd3 100644
--- a/drivers/media/video/cpia_pp.c
+++ b/drivers/media/video/cpia_pp.c
@@ -803,7 +803,7 @@
 	.detach = cpia_pp_detach,
 };
 
-int cpia_pp_init(void)
+static int cpia_pp_init(void)
 {
 	printk(KERN_INFO "%s v%d.%d.%d\n",ABOUT,
 	       CPIA_PP_MAJ_VER,CPIA_PP_MIN_VER,CPIA_PP_PATCH_VER);
@@ -860,6 +860,8 @@
 
 static int __init cpia_pp_setup(char *str)
 {
+	int err;
+
 	if (!strncmp(str, "parport", 7)) {
 		int n = simple_strtoul(str + 7, NULL, 10);
 		if (parport_ptr < PARPORT_MAX) {
@@ -873,6 +875,10 @@
 		parport_nr[parport_ptr++] = PPCPIA_PARPORT_NONE;
 	}
 
+	err=cpia_pp_init();
+	if (err)
+		return err;
+
 	return 1;
 }
 
diff --git a/drivers/media/video/cpia_usb.c b/drivers/media/video/cpia_usb.c
index 9c49a4b..2ee34a3 100644
--- a/drivers/media/video/cpia_usb.c
+++ b/drivers/media/video/cpia_usb.c
@@ -474,12 +474,6 @@
 	return 0;
 }
 
-int cpia_usb_init(void)
-{
-	/* return -ENODEV; */
-	return 0;
-}
-
 /* Probing and initializing */
 
 static int cpia_probe(struct usb_interface *intf,