Я работаю над драйвером I2C на raspPi:
/* register I2C device static */
static const struct i2c_board_info rasp_i2c_devices[] = {
{ "mbed", mbedID },
};
/* in the init function of my module */
i2c_register_board_info(0,rasp_i2c_devices,ARRAY_SIZE(rasp_i2c_devices));
Когда я компилирую, я получаю следующую ошибку:
make[1]: Entering directory `/home/zilleplus/rasp/linux'
Building modules, stage 2.
MODPOST 1 modules
WARNING: "i2c_register_board_info" [/home/zilleplus/LedCube/Module/I2C/I2Crasp.ko] undefined!
-> кросс-скомпилированное ядро с make -j4 ARCH = arm CROSS_COMPILE = $ {PITOOLSBIN} CONFIG_DEBUG_SECTION_MISMATCH = y
Куда мне идти отсюда? Я включил #include <linux/i2c.h>
, я действительно не понимаю, почему я получаю эту ошибку.
pastebin с небольшим модулем, демонстрирующим проблему: http://pastebin.com/ch58BUZj
в ответ на комментарий моего .config:
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=m
i2c_register_board_info
. Скорее всего, это указывает на проблему с вашей командой сборки / make-файлом для ko. - person TheCodeArtist   schedule 30.08.2015