如何控制 Linux 中 MTD 的可見度?

如何控制 Linux 中 MTD 的可見度?

我正在開發一個運行 Linux 的主機板,它有兩個 NOR-flash 裝置。它們在裝置樹中進行描述,以便在 /dev/ 下顯示一堆 MTD。

但是,我想對其中一台 NOR 閃存設備隱藏 MTD,直到真正需要它們(在升級期間)。

我發現我可以在啟動後取消驅動程式與 NOR-flash 的綁定,然後在需要時重新綁定。但是,我希望系統能夠在不綁定的情況下啟動。我嘗試過編輯設備樹並設置狀態=“已停用”並透過刪除相容的領域,但這兩種方法顯然都無法將磁碟機綁定到 NOR 快閃記憶體。 (當時沒有驅動程式覆蓋節點。

有什麼辦法可以讓系統讓決定何時綁定驅動程式或顯示 MTD?

答案1

compatible屬性將驅動程式與裝置(NOR 快閃記憶體控制器)關聯起來,並status影響裝置。
您的嘗試沒有達到預期的結果,這是有道理的。
如果MTD分區定義在DT中,那麼為什麼不能簡單地註解掉不希望可見的分區呢?

有什麼方法可以讓系統讓我決定何時綁定驅動程式?

是的,這就是設備樹的能力。
但對於您的情況,您應該處理分區,而不是設備(因為一個控制器連接有兩個晶片)!
https://www.kernel.org/doc/Documentation/devicetree/bindings/mtd/partition.txt
如果沒有定義MTD分區,那麼顯然無法為其建立設備節點/dev

相關內容