#2805 closed defect (wontfix)
i2c-core.ko fails to load as module in 2.6 kamikaze due to missing symbols
Reported by: | carlb | Owned by: | developers |
---|---|---|---|
Priority: | normal | Milestone: | Kamikaze 7.09 |
Component: | packages | Version: | Trunk |
Keywords: | i2c | Cc: |
Description
Error messages on load of i2c-core.ko driver (as reported by logread) are:
Jan 2 17:41:17 network user.warn kernel: i2c_core: Unknown symbol i2c_board_list
Jan 2 17:41:17 network user.warn kernel: i2c_core: Unknown symbol i2c_first_dynamic_bus_num
Jan 2 17:41:17 network user.warn kernel: i2c_core: Unknown symbol i2c_board_lock
These are caused by drivers/i2c/i2c-core.c using various symbols which are defined only in i2c-boardinfo.c
The build process builds i2c-core.c -> i2c-core.o -> i2c-core.ko but only takes i2c-boardinfo.c -> i2cboardinfo.o without using the resultant .o file for much of anything, as far as I can tell.
Changing line 38 of i2c-core.c from: #include "i2c-core.h" to #include "i2c-boardinfo.c" will produce a working i2c-core.ko module. Not sure if there's a better way to do this?
This bug can break various peripheral drivers, including USB TV tuners and I2C realtime clocks, which depend on i2c-core when loading other device-specific drivers
Attachments (0)
Change History (3)
comment:1 Changed 10 years ago by florian
- Resolution set to wontfix
- Status changed from new to closed
comment:2 Changed 6 years ago by anonymous
still broken in trunk, kernel 3.1.10
comment:3 Changed 6 years ago by jogo
- Version set to Trunk
Works for me:
root@OpenWrt:/# dmesg | grep i2c [ 10.748000] i2c /dev entries driver root@OpenWrt:/# lsmod | grep i2c i2c_dev 4149 0 i2c_core 13696 1 i2c_dev
i2c-boardinfo.c is compiled into the kernel, so if previously didn't select kmod-i2c-core, you will need to reflash the kernel/image.
Looks like a kernel bug, not directly related to OpenWrt. Can you make sure this was fixed recently by kernel devs ?