Moin!
Ich versuche gerade zum ersten Mal, einem älteren Kerneltreiber für eine PCI-
Karte sysfs-Unterstützung beizubringen.
Dazu habe ich unter anderem dem bestehenden Treiber ein
--- static struct pci_driver titan_driver = { .name = DRV_NAME, .id_table = titan_pci_tbl, .probe = titan_probe, .remove = titan_remove, }; --- spendiert und Aufrufe von pci_register_driver / pci_unregister_driver eingefügt. Der Treiber taucht danach auch im sysfs auf und hat dort einen Link zur PCI- Adresse: --- $ ls -la /sys/bus/pci/drivers/titan/ total 0 drwxr-xr-x 2 root root 0 2009-11-30 09:14 . drwxr-xr-x 13 root root 0 2009-11-30 09:14 .. lrwxrwxrwx 1 root root 0 2009-11-30 09:14 0000:00:0b.0 -> ../../../../devices/pci0000:00/0000:00:0b.0 --w------- 1 root root 4096 2009-11-30 09:14 bind lrwxrwxrwx 1 root root 0 2009-11-30 09:14 module -> ../../../../module/titan --w------- 1 root root 4096 2009-11-30 09:14 new_id --w------- 1 root root 4096 2009-11-30 09:14 remove_id --w------- 1 root root 4096 2009-11-30 09:14 uevent --w------- 1 root root 4096 2009-11-30 09:14 unbind --- Soweit ja alles schön, ich möchte aber außerdem gerne, daß per udev ein Devicefile eingerichtet wird -- und genau das klappt nicht. Wenn ich mir mit udevadm ansehe, was da für uevents gesendet werde, sieht das alles auch recht mager aus: --- KERNEL[1259568653.205951] add /module/titan (module) UDEV_LOG=3 ACTION=add DEVPATH=/module/titan SUBSYSTEM=module SEQNUM=682 KERNEL[1259568653.206472] add /bus/pci/drivers/titan (drivers) UDEV_LOG=3 ACTION=add DEVPATH=/bus/pci/drivers/titan SUBSYSTEM=drivers SEQNUM=683 UDEV [1259568653.215901] add /module/titan (module) UDEV_LOG=3 ACTION=add DEVPATH=/module/titan SUBSYSTEM=module SEQNUM=682 UDEV [1259568653.236102] add /bus/pci/drivers/titan (drivers) UDEV_LOG=3 ACTION=add DEVPATH=/bus/pci/drivers/titan SUBSYSTEM=drivers SEQNUM=683 KERNEL[1259568653.205951] add /module/titan (module) UDEV_LOG=3 ACTION=add DEVPATH=/module/titan SUBSYSTEM=module SEQNUM=682 --- Ich kann zwar händisch per mknod Devicefiles anlegen, aber das wäre ja langweilig. *Irgendwas* wird mir also noch fehlen, nur was? Weder der Vergleich mit bestehenden Treibern noch "Linux Device Drivers -- Third Edition" von Corbet/Rubini/Kroah-Hartman bringen mich weiter -- hat von euch vielleicht jemand Vorschläge/Hinweise? Gruß, BjörnReceived on Mon Nov 30 2009 - 10:01:41 CET
This archive was generated by hypermail 2.2.0 : Mon Nov 30 2009 - 10:02:02 CET