compatible 屬性
compatible 屬性也叫做 “兼容性” 屬性,這是非常重要的一個屬性!compatible 屬性的值是一個字符串列表, compatible 屬性用於將設備和驅動綁定起來。字符串列表用於選擇設備所要使用的驅動程序。compatible 屬性值的推薦格式:
"manufacturer,model"
- ① manufacturer : 表示廠商;
- ② model : 一般是模塊對應的驅動名字。
例如:
compatible = "fsl,mpc8641", "ns16550";
上面的compatible有兩個屬性,分別是 "fsl,mpc8641" 和 "ns16550";其中 "fsl,mpc8641" 的廠商是 fsl;設備首先會使用第一個屬性值在 Linux 內核里面查找,看看能不能找到與之匹配的驅動文件;
如果沒找到,就使用第二個屬性值查找,以此類推,直到查到到對應的驅動程序 或者 查找完整個 Linux 內核也沒有對應的驅動程序為止。
注:一般驅動程序文件都會有一個 OF 匹配表,此 OF 匹配表保存着一些 compatible 值,如果設備節點的 compatible 屬性值和 OF 匹配表中的任何一個值相等,那么就表示設備可以使用這個驅動。