Зонд не вызывается, потому что ядро не нашло "подходящее" устройство, которое могло бы быть связано с драйвером. Существуют различные способы предоставления информации об устройстве ядру. Они обсуждаются следующим образом:
Если это для целей тестирования, вы можете проверить устройства i2c через sysfs:
echo <device_name> <i2c_address> > /sys/bus/i2c/devices/i2c-0/new_device
device_name : имя устройства i2c. Должен быть тот, который используется в драйвере.
i2c_address : Адрес устройства i2c согласно техническому описанию устройства.
Приведенная выше команда предполагает, что шина i2c «0» — это та, к которой подключено устройство.
Помимо этого, есть и другие способы проверить ваше устройство. Вы можете указать информацию об устройстве через дерево устройств или вызвав i2c_register_board_info(). Вы можете создать простой модуль, который создает структуру i2c_board_info и регистрирует ее с помощью i2c_register_board_info(), а затем вставляете модуль так, чтобы устройство было «известно» ядру и связывало устройство с его драйвером. Это не должно быть в кодах инициализации платы.
Я рекомендую вам ознакомиться со следующей документацией по проверке устройств i2c: http://lxr.free-electrons.com/source/Documentation/i2c/instantiating-devices
person
raghav3276
schedule
28.10.2014
arch/arm/mach-omap2/myboard.c? - person yegorich   schedule 14.10.2014