2017-10-13 2 views
0

Ich schreibe einen Linux Phy-Treiber, der Paket-Timestamping behandelt. Die untere Hälfte berechnet Zeitstempel und sendet diese Informationen an den Netzwerkstapel des Kernels und dann an den Benutzerbereich. Die untere Hälfte benötigt einige Informationen aus dem skb (Paket), das der Aufrufer des Tasklets hat. Ich habe Schwierigkeiten, diese SKB an das Takslet zu übergeben. Tasklet-Handler-Funktion nimmt keine andere Eingabe als unsigned long. Ich stecke hier fest. Im Folgenden finden Sie ein Code-Snippet für Ihr Verständnis -teilen Daten mit Tasklet unteren Hälfte in Linux-Treiber

Schätzen Sie Ihre Eingaben. Danke

+0

Unsigned long entspricht void * in Linux. – 0andriy

Antwort

0

Tasklet Funktion erhält den gleichen data Parameter, der in DECLARE_TASKLET/tasklet_init angegeben ist. Normalerweise ist dies ein Zeiger auf eine (große) Treiberstruktur.

Also im Grunde können Sie Laufzeitdaten zwischen ISR und tasklet nicht direkt übergeben und sollten eine Art von gemeinsam genutzten Variablen (möglicherweise die oben genannte Struktur) mit ordnungsgemäßer Verriegelung verwenden.

Verwandte Themen