Имитировать MMC-карту в ядре Linux

Я пытаюсь добавить модуль mmc_spi в мое ядро 2.6.21 для связи с MMC-картой через SPI. Я полагаю, что необходимы 3 модуля: mmc_core mmc_block mmc_spi

Мое устройство mmc_blk зарегистрировано в системе (cat/proc/devices). Я создал собственный /dev/mmc. Майор правилен. Но когда я пытаюсь установить его - я получаю ошибку - нет такого устройства или адреса.

Я полагаю, что одна из структур должна быть заполнена, чтобы сообщить Linux, что карта находится внутри носка. Я должен сделать это вручную. Как я могу имитировать это?

1 ответ

Обычно вам необходимо иметь платформенное устройство, которое будет ссылаться на новый модуль mmc_spi. Обычно вы можете создать для него модуль ядра, но во многих архитектурах с поддержкой "статической" MMC это будет в соответствующих каталогах "arch/foo/platform".

Если вы работаете с системой с поддержкой открытой прошивки (device-tree, dts, dtb и т.д.), Вам просто нужно добавить "mmc_spi" к совместимому флагу для ведомого устройства SPI в вашей DTS.

licensed under cc by-sa 3.0 with attribution.