summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/gspca/m5602
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-10-11 08:47:28 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-11 08:47:28 -0300
commit21e61b2c212edb8d0c30ed8098b04dd1b74bb000 (patch)
tree5089f9d0674d0a23933006184ab4a46c39058d12 /linux/drivers/media/video/gspca/m5602
parent59bd3f15af822cf71839e0cfc59f5979b6e2e6c7 (diff)
downloadmediapointer-dvb-s2-21e61b2c212edb8d0c30ed8098b04dd1b74bb000.tar.gz
mediapointer-dvb-s2-21e61b2c212edb8d0c30ed8098b04dd1b74bb000.tar.bz2
af9013/m5602: Fix compilation at in-kernel
From: Mauro Carvalho Chehab <mchehab@redhat.com> This patch fixes a few errors that were breaking in-kernel compilation. The first one were at m5602 that were including "gspca.h" from another directory. A trivial change at m5602/Makefile fixed the issue. A harder to fix error were caused by the fact that both af9013 and m5602 were declaring an external var called 'debug'. If you compile both modules in-kernel, you'll have troubles. This is even worse, since there are two other drivers outside the subsystem with a similar mistake. To make things worse, gcc do a very great job of fooling the developers, by blaming the wrong lines anf files when such error occurs. So, I was having errors like: drivers/media/dvb/built-in.o: In function `dvb_usercopy': /home/v4l/tokernel/git/drivers/media/dvb/dvb-core/dvbdev.c:403: multiple definition of `debug' drivers/media/video/built-in.o:/home/v4l/tokernel/git/drivers/media/video/bt819.c:264: first defined here or: drivers/media/dvb/built-in.o: In function `dvb_usercopy': /home/v4l/tokernel/git/drivers/media/dvb/dvb-core/dvbdev.c:403: multiple definition of `debug' drivers/media/video/built-in.o:/home/v4l/tokernel/git/drivers/media/video/vpx3220.c:125: first defined here The two above errors caused by m5602 driver. After fixing m5602, I got this: drivers/built-in.o: In function `SiS_SetGroup2': /home/v4l/tokernel/git/drivers/video/sis/init301.c:6996: multiple definition of `debug' arch/x86/kernel/built-in.o:/home/v4l/tokernel/git/arch/x86/kernel/entry_32.S:810: first defined here This one caused by af9013. This patch fixes those erros by prefixing the debug vars with the name of the module, without changing the name of the parameter. Next time, please prepend all extern vars with the name of the module. To avoid bisect troubles, I've folded those changes with the original commits that added those modules at my -git tree. kernel-sync: CC: Jean-Francois Moine <moinejf@free.fr> CC: Antti Palosaari <crope@iki.fi> CC: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/video/gspca/m5602')
-rw-r--r--linux/drivers/media/video/gspca/m5602/Makefile3
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_bridge.h2
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_core.c4
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_mt9m111.h2
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_ov9650.h2
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_po1030.h2
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_s5k4aa.h2
-rw-r--r--linux/drivers/media/video/gspca/m5602/m5602_s5k83a.h2
8 files changed, 11 insertions, 8 deletions
diff --git a/linux/drivers/media/video/gspca/m5602/Makefile b/linux/drivers/media/video/gspca/m5602/Makefile
index 672fb6bb5..226ab4fc9 100644
--- a/linux/drivers/media/video/gspca/m5602/Makefile
+++ b/linux/drivers/media/video/gspca/m5602/Makefile
@@ -6,3 +6,6 @@ gspca_m5602-objs := m5602_core.o \
m5602_po1030.o \
m5602_s5k83a.o \
m5602_s5k4aa.o
+
+EXTRA_CFLAGS += -Idrivers/media/video/gspca
+
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_bridge.h b/linux/drivers/media/video/gspca/m5602/m5602_bridge.h
index 6b2441e84..18ca19a94 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_bridge.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_bridge.h
@@ -45,7 +45,7 @@
#define PDEBUG(level, fmt, args...) \
do { \
- if (debug & level) \
+ if (m5602_debug & level) \
info("[%s:%d] " fmt, __func__, __LINE__ , \
## args); \
} while (0)
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_core.c b/linux/drivers/media/video/gspca/m5602/m5602_core.c
index 30efe7d4b..475073501 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_core.c
+++ b/linux/drivers/media/video/gspca/m5602/m5602_core.c
@@ -26,7 +26,7 @@
int force_sensor;
int dump_bridge;
int dump_sensor;
-unsigned int debug;
+unsigned int m5602_debug;
static const __devinitdata struct usb_device_id m5602_table[] = {
{USB_DEVICE(0x0402, 0x5602)},
@@ -292,7 +292,7 @@ module_exit(mod_m5602_exit);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_LICENSE("GPL");
-module_param(debug, int, S_IRUGO | S_IWUSR);
+module_param_named(debug, m5602_debug, int, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "toggles debug on/off");
module_param(force_sensor, int, S_IRUGO | S_IWUSR);
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_mt9m111.h b/linux/drivers/media/video/gspca/m5602/m5602_mt9m111.h
index f914547b9..79a5d8878 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_mt9m111.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_mt9m111.h
@@ -82,7 +82,7 @@
/* Kernel module parameters */
extern int force_sensor;
extern int dump_sensor;
-extern unsigned int debug;
+extern unsigned int m5602_debug;
int mt9m111_probe(struct sd *sd);
int mt9m111_init(struct sd *sd);
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_ov9650.h b/linux/drivers/media/video/gspca/m5602/m5602_ov9650.h
index 70429b411..486ea337a 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_ov9650.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_ov9650.h
@@ -121,7 +121,7 @@
/* Kernel module parameters */
extern int force_sensor;
extern int dump_sensor;
-extern unsigned int debug;
+extern unsigned int m5602_debug;
int ov9650_probe(struct sd *sd);
int ov9650_init(struct sd *sd);
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_po1030.h b/linux/drivers/media/video/gspca/m5602/m5602_po1030.h
index db86a9287..68f34c97b 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_po1030.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_po1030.h
@@ -121,7 +121,7 @@
/* Kernel module parameters */
extern int force_sensor;
extern int dump_sensor;
-extern unsigned int debug;
+extern unsigned int m5602_debug;
int po1030_probe(struct sd *sd);
int po1030_init(struct sd *sd);
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_s5k4aa.h b/linux/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
index 5d808a750..1e4213a73 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_s5k4aa.h
@@ -63,7 +63,7 @@
/* Kernel module parameters */
extern int force_sensor;
extern int dump_sensor;
-extern unsigned int debug;
+extern unsigned int m5602_debug;
int s5k4aa_probe(struct sd *sd);
int s5k4aa_init(struct sd *sd);
diff --git a/linux/drivers/media/video/gspca/m5602/m5602_s5k83a.h b/linux/drivers/media/video/gspca/m5602/m5602_s5k83a.h
index 67432b5a5..a57f623d8 100644
--- a/linux/drivers/media/video/gspca/m5602/m5602_s5k83a.h
+++ b/linux/drivers/media/video/gspca/m5602/m5602_s5k83a.h
@@ -36,7 +36,7 @@
/* Kernel module parameters */
extern int force_sensor;
extern int dump_sensor;
-extern unsigned int debug;
+extern unsigned int m5602_debug;
int s5k83a_probe(struct sd *sd);