mirror of
https://github.com/adulau/aha.git
synced 2024-12-30 12:46:17 +00:00
V4L/DVB (7115): Fix bug #9833: regression when compiling V4L without I2C
Adrian Bunk reported:
> > Commit 8ffbc65594
causes the following
> > compile error with CONFIG_VIDEO_DEV=y/m, CONFIG_I2C=n:
> >
> > <-- snip -->
> >
> > ...
> > MODPOST 26 modules
> > ERROR: "i2c_attach_client" [drivers/media/video/v4l2-common.ko] undefined!
> > make[2]: *** [__modpost] Error 1
> >
> > <-- snip -->
...
And what should happen if CONFIG_VIDEO_DEV=y, CONFIG_I2C=m?
CC: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
1309d4e684
commit
a9254475bb
3 changed files with 24 additions and 24 deletions
|
@ -25,6 +25,11 @@ config VIDEO_DEV
|
||||||
To compile this driver as a module, choose M here: the
|
To compile this driver as a module, choose M here: the
|
||||||
module will be called videodev.
|
module will be called videodev.
|
||||||
|
|
||||||
|
config VIDEO_V4L2_COMMON
|
||||||
|
tristate
|
||||||
|
depends on (I2C || I2C=n) && VIDEO_DEV
|
||||||
|
default (I2C || I2C=n) && VIDEO_DEV
|
||||||
|
|
||||||
config VIDEO_V4L1
|
config VIDEO_V4L1
|
||||||
bool "Enable Video For Linux API 1 (DEPRECATED)"
|
bool "Enable Video For Linux API 1 (DEPRECATED)"
|
||||||
depends on VIDEO_DEV
|
depends on VIDEO_DEV
|
||||||
|
|
|
@ -10,8 +10,9 @@ msp3400-objs := msp3400-driver.o msp3400-kthreads.o
|
||||||
|
|
||||||
stkwebcam-objs := stk-webcam.o stk-sensor.o
|
stkwebcam-objs := stk-webcam.o stk-sensor.o
|
||||||
|
|
||||||
obj-$(CONFIG_VIDEO_DEV) += videodev.o v4l2-common.o compat_ioctl32.o \
|
obj-$(CONFIG_VIDEO_DEV) += videodev.o compat_ioctl32.o v4l2-int-device.o
|
||||||
v4l2-int-device.o
|
|
||||||
|
obj-$(CONFIG_VIDEO_V4L2_COMMON) += v4l2-common.o
|
||||||
|
|
||||||
ifeq ($(CONFIG_VIDEO_V4L1_COMPAT),y)
|
ifeq ($(CONFIG_VIDEO_V4L1_COMPAT),y)
|
||||||
obj-$(CONFIG_VIDEO_DEV) += v4l1-compat.o
|
obj-$(CONFIG_VIDEO_DEV) += v4l1-compat.o
|
||||||
|
|
|
@ -973,6 +973,18 @@ u32 v4l2_ctrl_next(const u32 * const * ctrl_classes, u32 id)
|
||||||
return **ctrl_classes;
|
return **ctrl_classes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int v4l2_chip_match_host(u32 match_type, u32 match_chip)
|
||||||
|
{
|
||||||
|
switch (match_type) {
|
||||||
|
case V4L2_CHIP_MATCH_HOST:
|
||||||
|
return match_chip == 0;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(v4l2_chip_match_host);
|
||||||
|
|
||||||
|
#if defined(CONFIG_I2C) || (defined(CONFIG_I2C_MODULE) && defined(MODULE))
|
||||||
int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_chip)
|
int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_chip)
|
||||||
{
|
{
|
||||||
switch (match_type) {
|
switch (match_type) {
|
||||||
|
@ -984,6 +996,7 @@ int v4l2_chip_match_i2c_client(struct i2c_client *c, u32 match_type, u32 match_c
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(v4l2_chip_match_i2c_client);
|
||||||
|
|
||||||
int v4l2_chip_ident_i2c_client(struct i2c_client *c, struct v4l2_chip_ident *chip,
|
int v4l2_chip_ident_i2c_client(struct i2c_client *c, struct v4l2_chip_ident *chip,
|
||||||
u32 ident, u32 revision)
|
u32 ident, u32 revision)
|
||||||
|
@ -1000,16 +1013,7 @@ int v4l2_chip_ident_i2c_client(struct i2c_client *c, struct v4l2_chip_ident *chi
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(v4l2_chip_ident_i2c_client);
|
||||||
int v4l2_chip_match_host(u32 match_type, u32 match_chip)
|
|
||||||
{
|
|
||||||
switch (match_type) {
|
|
||||||
case V4L2_CHIP_MATCH_HOST:
|
|
||||||
return match_chip == 0;
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ----------------------------------------------------------------- */
|
/* ----------------------------------------------------------------- */
|
||||||
|
|
||||||
|
@ -1038,6 +1042,8 @@ int v4l2_i2c_attach(struct i2c_adapter *adapter, int address, struct i2c_driver
|
||||||
}
|
}
|
||||||
return err != -ENOMEM ? 0 : err;
|
return err != -ENOMEM ? 0 : err;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(v4l2_i2c_attach);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ----------------------------------------------------------------- */
|
/* ----------------------------------------------------------------- */
|
||||||
|
|
||||||
|
@ -1061,15 +1067,3 @@ EXPORT_SYMBOL(v4l2_ctrl_get_menu);
|
||||||
EXPORT_SYMBOL(v4l2_ctrl_query_menu);
|
EXPORT_SYMBOL(v4l2_ctrl_query_menu);
|
||||||
EXPORT_SYMBOL(v4l2_ctrl_query_fill);
|
EXPORT_SYMBOL(v4l2_ctrl_query_fill);
|
||||||
EXPORT_SYMBOL(v4l2_ctrl_query_fill_std);
|
EXPORT_SYMBOL(v4l2_ctrl_query_fill_std);
|
||||||
|
|
||||||
EXPORT_SYMBOL(v4l2_chip_match_i2c_client);
|
|
||||||
EXPORT_SYMBOL(v4l2_chip_ident_i2c_client);
|
|
||||||
EXPORT_SYMBOL(v4l2_chip_match_host);
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(v4l2_i2c_attach);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Local variables:
|
|
||||||
* c-basic-offset: 8
|
|
||||||
* End:
|
|
||||||
*/
|
|
||||||
|
|
Loading…
Reference in a new issue