Page 1 of 1

devfs ersetzen?

Posted: 13. Oct 2011 10:50
by ElBlues
Hi,

devfs ist ja schon seit einiger zeit obsolet und auch aus dem Kernel geflogen.

Jetzt bin ich allerdings in die etwas unglückliche Lage geraten, für eine Hardware nur einen alten Treiber zu bekommen, der dieses devfs (mittels Funktionen wie devfs_register() und devfs_unregister()) noch verwendet.

Googelt man nach Beschreibungen, wie von devfs nach udev zu migrieren ist, gibt es nur Anleitungen, die sich um die Anwender/Konfigurationsseite kümmern, bis in die Tiefen des Kernels geht keine davon.

Deswegen: hat jemand ein paar Tipps für mich, wie ich den Treiber umstellen kann bzw. wo es ein paar Hilfen zur Migration devfs nach udev gibt?

Posted: 13. Oct 2011 14:15
by Janka
Wenn du den Treiber im Quellcode vorliegen hast, wirf diese Aufrufe einfach raus. Die Devicenode kannst du auch einfach mittels "mknod" von Hand anlegen. Mit welchen Parametern block/char/major/minor du das machen musst, kannst du an den jeweiligen Aufrufparametern von devfs_register() ablesen. http://huihoo.org/gnu_linux/kernel-api/r4647.html

Die "ops"-Struktur musst du stattdessen in register_chrdev() bzw. register_blkdev() einfüllen. Bzw. nach neuer Methode mit cdev_init() und cdev_add().

Janka

Posted: 14. Oct 2011 6:27
by ElBlues
Prima - Danke!