Я работаю на плате под управлением Linux, на которой установлены два NOR-флеш-устройства. Они описаны в дереве устройств, так что куча MTD отображается в /dev /.

Но я хотел бы скрыть MTD от одного из устройств NOR-flash до тех пор, пока они действительно не понадобятся (во время обновлений).

Я обнаружил, что после загрузки могу отсоединить драйвер от NOR-флэш-памяти, а затем, если необходимо, выполнить повторную привязку. Однако я бы предпочел, чтобы система могла загружаться без привязки. Я попытался, отредактировав дерево устройств и установив status = "disabled" и удалив совместимое поле, но оба подхода, по-видимому, сделали невозможным привязать драйвер к NOR-flash. (Не было узла driver_override .)

Есть ли какой - нибудь способ , которым я могу заставить систему , чтобы позволить мне решить , когда , чтобы связать драйвер или показать MTDS?

1 ответ1

0

compatible атрибут связывает драйвер с устройством (контроллер флэш-памяти NOR), и его status влияет на устройство.
Имеет смысл, что то, что вы пытались, не достигло желаемого результата.
Если определения разделов MTD находятся в DT, то почему вы не можете просто закомментировать разделы, которые вы не хотите видеть?

Есть ли какой-нибудь способ, которым я могу заставить систему решать, когда связывать драйвер?

Да, это то, на что способно дерево устройств.
Но в вашей ситуации вы должны иметь дело с разделами, а не с устройством (поскольку к одному контроллеру подключены две микросхемы)!
См. Https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt.
Если раздел MTD не определен, то для него явно не может быть создан узел устройства в /dev.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .