Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 229829 - gentoo-sources-2.6.24-r8: i2c_boardinfo symbols are unknown to modules
Summary: gentoo-sources-2.6.24-r8: i2c_boardinfo symbols are unknown to modules
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard: linux-2.6.25
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-27 20:42 UTC by Kwang Ketcham
Modified: 2008-07-02 01:53 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Kernel Config (.config,36.26 KB, text/plain)
2008-06-28 03:08 UTC, Kwang Ketcham
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kwang Ketcham 2008-06-27 20:42:21 UTC
I was attempting to build and install i2c modules for use with lm_sensors, but upon attempting to modprobe i2c_core (or anything that depends on it, like i2c_dev) the insert failed with the following output in dmesg:

  i2c_core: Unknown symbol __i2c_board_list
  i2c_core: Unknown symbol __i2c_first_dynamic_bus_num
  i2c_core: Unknown symbol __i2c_board_lock

I found a description of this problem and a solution in an OpenWrt ticket [1]; that thread suggested the following solution:

  '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 solution worked (after recompiling the module, it inserted properly) but during compilation I received warnings stating that these three symbols were being exported twice, and were originally exported from vmlinux.  This seems to indicate that the problem is somewhere in the kernel, as suggested in the OpenWrt thread.

Reproducible: Always

Steps to Reproduce:
1. Enable i2c_core as a module using make menuconfig
2. Compile and install i2c_core, then attempt to modprobe it: it will fail to insert
3. Change line 38 of i2c-core.c as above to: #include "i2c-boardinfo.c"
4. Recompile the module: the compiler will warn that these symbols are being exported twice, but the module will correctly insert after installation.




[1] http://lists.openwrt.org/pipermail/openwrt-tickets/2007-December/008385.html
Comment 1 Duane Griffin 2008-06-28 01:18:34 UTC
Could you attach your config, please.
Comment 2 Kwang Ketcham 2008-06-28 03:08:03 UTC
Created attachment 158713 [details]
Kernel Config

Yes, very sorry.
Comment 3 Duane Griffin 2008-06-30 13:25:00 UTC
I suspect that this bug is caused by a Kconfig issue, but I can't seem to reproduce it here to test properly. Perhaps it is dependent on your hardware.

There have been quite a few i2c-related changes recently. Could you please try the latest vanilla 2.6.25 kernel to see if the problem still occurs there? You should be able to get it by keywording vanilla-sources.
Comment 4 Kwang Ketcham 2008-07-01 17:32:01 UTC
I've tested the same machine with the same kernel configuration file (run through "make menuconfig" once to remove extraneous entries) with the vanilla 2.6.25 kernel, and modprobing i2c_core works fine.
Comment 5 Duane Griffin 2008-07-02 01:53:45 UTC
Excellent, thanks for testing.