Est il possible d'enregistrer simultanément 2 drivers différents pour le même périphérique depuis un seul processus, autrement dit 2 opens avec chacun un pci_register_driver sur le même device ?
Je ne vois pas bien ce que "open" viens faire la dedans (cad dans le kernel, car pour gerer les interruptions il faut être au niveau kernel). Quand le système cherche à assigner un driver à une carte, il parcours la liste des drivers déclaré par pci_register_driver en fonction de PCI_PID et PCI_VID de la carte.
Le kernel invoque alors la fonction "probe" du driver et si celui ci retourne 0, alors il devient "propriétaire" de la gestion de la carte et le parcours du "probe" s'arrête la.
Au driver de gérer la suite (re-mapping mémoire des mem_regions de la cartes , allocation de l'interrupt etc...)
# A mon avis : Non
Posté par TheBreton . En réponse au message 1 périphérique PCIe / 2 drivers. Évalué à 2.
Je ne vois pas bien ce que "open" viens faire la dedans (cad dans le kernel, car pour gerer les interruptions il faut être au niveau kernel). Quand le système cherche à assigner un driver à une carte, il parcours la liste des drivers déclaré par pci_register_driver en fonction de PCI_PID et PCI_VID de la carte.
Le kernel invoque alors la fonction "probe" du driver et si celui ci retourne 0, alors il devient "propriétaire" de la gestion de la carte et le parcours du "probe" s'arrête la.
Au driver de gérer la suite (re-mapping mémoire des mem_regions de la cartes , allocation de l'interrupt etc...)