Автор Тема: Armbian5.25 (jessie) и CAN-BUS. Нужна помощь гуру Linux  (Прочитано 492 раз)

Оффлайн igzero

  • Участник
  • **
  • Сообщений: 85
  • Карма: +2/-0
    • Просмотр профиля
Здравствуйте!
Имеется CAN-BUS модуль MCP2515, подключается по SPI. Собрал ядро с поддержкой CAN-BUS и модуль mcp251x
Все модуля ( can, can-dev, can-bcm, can-gw, mcp251x ) загружаются без ошибок, но интерфейс can0 в системе не появляется. ( Подключение MCP2515 по мотивам здесь  и здесь).
В комментариях исходника mcp251x.c сказано о ручной инициализации устройства
Цитировать
Your platform definition file should specify something like:
 *
 * static struct mcp251x_platform_data mcp251x_info = {
 *         .oscillator_frequency = 8000000,
 *         .board_specific_setup = &mcp251x_setup,
 *         .power_enable = mcp251x_power_enable,
 *         .transceiver_enable = NULL,
 * };
 *
 * static struct spi_board_info spi_board_info[] = {
 *         {
 *                 .modalias = "mcp2510",
 *                      // or "mcp2515" depending on your controller
 *                 .platform_data = &mcp251x_info,
 *                 .irq = IRQ_EINT13,
 *                 .max_speed_hz = 2*1000*1000,
 *                 .chip_select = 2,
 *         },
 * };
 *
 * Please see mcp251x.h for a description of the fields in
 * struct mcp251x_platform_data.
 *
Если я вставляю этот код в mcp251x.c, ядро не собирается
Цитировать

drivers/net/can/mcp251x.c:1221:30: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
      .board_specific_setup = &mcp251x_setup,
                              ^
drivers/net/can/mcp251x.c:1221:30: note: (near initialization for ‘mcp251x_info.board_specific_setup’)
drivers/net/can/mcp251x.c:1222:22: error: ‘mcp251x_power_enable’ undeclared here (not in a function)
      .power_enable = mcp251x_power_enable,
                      ^
drivers/net/can/mcp251x.c:1230:21: error: ‘IRQ_EINT1’ undeclared here (not in a function)
              .irq = IRQ_EINT1,  /* PA01 */
                     ^
drivers/net/can/mcp251x.c:1226:30: warning: ‘spi_board_info’ defined but not used [-Wunused-variable]
 static struct spi_board_info spi_board_info[] = {
                              ^
scripts/Makefile.build:313: recipe for target 'drivers/net/can/mcp251x.o' failed
make[3]: *** [drivers/net/can/mcp251x.o] Error 1
scripts/Makefile.build:443: recipe for target 'drivers/net/can' failed
make[2]: *** [drivers/net/can] Error 2
scripts/Makefile.build:443: recipe for target 'drivers/net' failed
make[1]: *** [drivers/net] Error 2
make[1]: *** Waiting for unfinished jobs....


Подскажите решение.