From: Stefan Jeglinski <hidden> Date: 2003-12-06 05:50:38
Trying to add video4linux. When I build for bttv, I get this error in
the kernel compile:
drivers/media/media.o(.text+0x12674): In function `bttv_remove':
: undefined reference to `i2c_bit_del_bus'
drivers/media/media.o(.text+0x12674): In function `bttv_remove':
: relocation truncated to fit: R_PPC_REL24 i2c_bit_del_bus
drivers/media/media.o(.text+0x13570): In function `init_bttv_i2c':
: undefined reference to `i2c_bit_add_bus'
drivers/media/media.o(.text+0x13570): In function `init_bttv_i2c':
: relocation truncated to fit: R_PPC_REL24 i2c_bit_add_bus
make: *** [vmlinux] Error 1
Any ideas on a fix?
Stefan Jeglinski
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Just a shot in the dark, but do you have these options set in your
kernel?
# I2C support
#
CONFIG_I2C=y
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_KEYWEST=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_PROC is not set
Not sure which is required as I don't have video4linux myself ...
cheers
vinai
--
Vinai
To get my real e-mail address, replace "4" with "for" in the above address
On Sat, 6 Dec 2003, Stefan Jeglinski wrote:
Trying to add video4linux. When I build for bttv, I get this error in
the kernel compile:
drivers/media/media.o(.text+0x12674): In function `bttv_remove':
: undefined reference to `i2c_bit_del_bus'
drivers/media/media.o(.text+0x12674): In function `bttv_remove':
: relocation truncated to fit: R_PPC_REL24 i2c_bit_del_bus
drivers/media/media.o(.text+0x13570): In function `init_bttv_i2c':
: undefined reference to `i2c_bit_add_bus'
drivers/media/media.o(.text+0x13570): In function `init_bttv_i2c':
: relocation truncated to fit: R_PPC_REL24 i2c_bit_add_bus
make: *** [vmlinux] Error 1
Any ideas on a fix?
Stefan Jeglinski
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Date: 2003-12-07 01:23:24
On Sun, 2003-12-07 at 06:11, vinai wrote:
Just a shot in the dark, but do you have these options set in your
kernel?
# I2C support
#
CONFIG_I2C=y
# CONFIG_I2C_ALGOBIT is not set
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_KEYWEST=y
# CONFIG_I2C_CHARDEV is not set
# CONFIG_I2C_PROC is not set
Not sure which is required as I don't have video4linux myself ...
Actually, looking as his errors, I think what he needs is
CONFIG_I2C_ALGOBIT = y
Ben.
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
From: Stefan Jeglinski <hidden> Date: 2003-12-13 15:34:47
Actually, looking as his errors, I think what he needs is
CONFIG_I2C_ALGOBIT = y
Indeed.
I'm working on building the bttv driver. That hint solved the compile
error. But apparently had I built the bttv driver first, it would
have patched the kernel thusly.
I'm now getting one slight oddity though that I'm not experienced
enough to solve.
The procedure, as I see it, is to download the bttv source (0.9.12)
and run make, make install. This appears to patch the kernel, but
also installs modules. So then, since the kernel was patched, it
appears that I have to rebuild the kernel (and for good measure I do
make modules modules_install as well). But then, it's not clear to me
if I have to make the bttv stuff again.
The order or necessity of which steps is confusing to me. But I went
round and round enough to make it all build, with one small problem:
when I do make install_modules (part of the kernel build), I get
depmod *** Unresolved symbols in /lib/modules/[kernel]/v4l2/video-buf.o
depmod clear_user_page
And when I do make install (bttv build) I get
depmod *** Unresolved symbols in /lib/modules/[kernel]/v4l2/video-buf.o
These are of course both the result of the depmod -a step. I don't
understand modules well, but IIRC unresolved symbols happen when
there is some other module that is not being loaded. Before I hit up
the bttv maintainer or the v4l2 list, does anyone who has done this
have hints? Any clues on the importance of the clear_user_page
message?
Stefan Jeglinski
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/