This book ‚s PCI chapter erklären zu:Was ist der Unterschied zwischen pci_enable_device und pcim_enable_device?
int pci_enable_device(struct pci_dev *dev);
aber es gibt auch:
int pcim_enable_device (struct pci_dev * pdev);
Aber außer dem Hinweis, sie ist ein "Managed pci_enable_device", hat es keine Erklärung.
- Was ist der Unterschied zwischen diesen beiden?
- Was bedeutet es, dass es "verwaltet" wird?
- Welches sollte ich verwenden?
Haben Sie eine Empfehlung eines aktualisierten/neuen Buches zu diesem Thema? – Tar
Nun, da ist LDD4: http://shop.oreilly.com/product/0636920030867.do. Aber ich kann mich an kein Buch erinnern, das gerade verwaltete Funktionen beschreibt. Eigentlich brauchen Sie keins, schauen Sie einfach in die Datei 'Documentation/driver-model/devres.txt' in Ihren Kernelquellen. Am Ende läuft es auf den nächsten Punkt hinaus: Sie verwenden eine verwaltete Funktion anstelle einer verwalteten, und rufen am Ende keine Ressourcenbefreiungsfunktionen auf. Sobald Ihr Treiber gerade beendet/entladen wird, ruft ** devres ** framework automatisch die ressourcenfreie Funktion für Sie auf. –
Beachten Sie auch, dass 'pcim_enable_device()' bei der Veröffentlichung viel mehr als nur 'pci_disable_device()'. – 0andriy