Макрос регистрации i2c не найден?
Я работаю над драйвером 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>
Я действительно не понимаю, почему я получаю эту ошибку.
пастин с небольшим модулем, демонстрирующим проблему: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