
Я работаю на плате под управлением Linux, и на ней есть два устройства NOR-flash. Они описаны в дереве устройств, так что куча MTD отображается в /dev/.
Но я хотел бы скрыть MTD с одного из устройств NOR-flash до тех пор, пока они действительно не понадобятся (во время обновлений).
Я обнаружил, что я могу отвязать драйвер от NOR-flash после загрузки, а затем привязать его заново, когда это необходимо. Однако я бы предпочел, чтобы система могла загружаться без привязки в первую очередь. Я пробовал редактировать дерево устройств и устанавливатьстатус="отключено"и удаливсовместимыйполе, но оба подхода, по-видимому, сделали невозможным привязку драйвера к NOR-флешке. (Не былодрайвер_переопределенияузел.)
Есть ли способ заставить систему разрешитьмнерешить, когда привязывать драйвер или показывать MTD?
решение1
Атрибут compatible
связывает драйвер с устройством (флэш-контроллер NOR) и status
влияет на устройство.
Понятно, что то, что вы попробовали, не дало желаемого результата.
Если определения разделов MTD находятся в DT, то почему вы просто не можете закомментировать разделы, которые вы не хотите видеть?
Есть ли способ заставить систему позволить мне решать, когда привязывать драйвер?
Да, это то, на что способен Device Tree.
Но в вашей ситуации вы должны иметь дело с разделами, а не с устройством (поскольку к одному контроллеру подключены два чипа)!
Смотритеhttps://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt
Если раздел MTD не определен, то узел устройства, очевидно, не может быть создан для него в/dev.