Hallo,
ich habe per buildroot ein lauffähiges Linux auf meinem Rasperry Pi B+ hin bekommen. Außerdem, nach Anleitung von Jürgen Quade (Embedded Linux lernen mit dem Raspberry Pi) , ein Kernelmodul welches eine LED ansteuern kann.
Diese Kernelmodul includiert eine Header Namens "GPIO.h" und nutzt die Funktion gpio_set_value.
Ich möchte gerne verstehen wie die Verbindung zwischen dem DeviceTree und letztendlich der Funktion gpio_set_value ist.
Was ich bis jetzt gelesen habe, wird im DevicTree in der Node gpio mit compatible="Ein Name" ein String gesetzt, auf den im Treiber referenziert wird.
In den Kernel-Sourcen finde ich zwar einen GPIO Ordner, aber da sind über 100 GPIO-Treiber drin. Keiner davon besitzt die Funktion gpio_set_value, bzw. referenziert auf "Ein Name".
Was bedeutet es, wenn da z.B compatibel = "brcm, bcm2835-gpio" steht. Hat das Komma die Funktion eines Separators, oder ist es einfach nur Teil des Strings?
Wie finde ich heraus welcher GPIO-Treiber in den Kernel glinkt wurde?
Danke.