2013-07-26 13 views
7

Ich versuche, ein Device Tree Overlay zu schreiben, um ein SPI-basiertes enc28j60 Modul zu meinem BeagleBone Black zu erkennen. Dieses Modul wird nicht in /kernel-dev/Documentation/devicetree/bindings angezeigt, aber es gibt einen Treiber dafür im Kernel.Welcher "kompatible" Schlüssel wird im Gerätebaum verwendet?

Gibt die fehlende Dokumentation an, dass die Bindung des Gerätebaums fehlt? Ohne in der Lage zu sein, etwas wie compatible = "microchip,enc28j60" zu sagen, frage ich mich, wie sonst kann ich das Gerätebaum-Overlay verwenden, um den Treiber enc28j60.ko zu laden?

Antwort

5

Nach einigen Recherchen und dass die grepen es scheint, dass devicetree-kompatible Treiber ein Stück Code, der wie folgt aussieht:

static struct of_device_id enc28j60_of_match[] __devinitdata = { 
    { .compatible = "microchip,enc28j60", }, 
    {} 
}; 

die dann in der platform_driver Struktur enthalten ist. Dies weist den Kernel an, wie er reagieren soll, wenn er in dem Devictree-Overlay auf compatible = "microchip,enc28j60" trifft.