Dieser Abschnitt faßt wie üblich die in diesem Kapitel eingeführten Symbole zusammen.
Dieses Makro sollte für die bedingte Kompilation von PCI-Code verwendet werden. Wenn ein PCI-Modul in einen Nicht-PCI-Kernel geladen wird, beschwert sich insmod über eine Reihe nicht aufgelöster Symbole.
Diese Header-Datei enthält symbolische Namen für die PCI-Register und viele Werte für vendor und deviceID.
Diese Funktion gibt einen Booleschen Wert zurück, der bangibt, ob der Rechner einen PCI-Bus hat oder nicht.
Diese Strukturen repräsentieren die in der PCI-Verwaltung verwendeten Objekte. Das Konzept von pci_driver ist neu in Linux 2.4; struct pci_device_id ist hier ein zentrales Element.
Diese Funktionen werden dazu verwendet, in der Geräteliste nach Geräten mit bestimmten Signaturen oder bestimmten Klassen zu suchen. Wenn keine gefunden werden, wird NULL zurückgegeben. from wird verwendet, um eine Suche fortzusetzen; dieser Parameter muß beim ersten Aufruf NULL sein und bei jedem weiteren Aufruf auf das zuletzt gefundene Gerät verweisen.
Diese Funktionen werden zum Lesen oder Schreiben eines PCI-Konfigurationsregisters verwendet. Auch wenn der Linux-Kernel sich um die Byte-Reihenfolge kümmert, muß man als Programmierer vorsichtig sein, wenn man mehr-bytige Werte aus einzelnen Bytes zusammensetzt. Der PCI-Bus verwendet die Little-Endian-Reihenfolge.
Diese Funktionen unterstützen das Konzept eines PCI-Treibers. Einkompilierter Code verwendet pci_register_driver (das eine Reihe von Geräten zurückgibt, die von diesem Treiber verwaltet werden), modularisierter Code sollte statt dessen pci_module_init aufrufen (das 0 zurückgibt, wenn eines oder mehrere Geräte vorhanden sind, sowie -ENODEV, wenn kein passendes Gerät in das System eingesteckt ist).
Die erste Datei enthält alles zu USB und muß von USB-Gerätetreibern eingebunden werden. Die zweite Datei definiert den Kern des Eingabe-Subsystems. Keine dieser Dateien gibt es in Linux 2.0.
usb_driver ist der wichtigste Baustein von USB-Gerätetreibern. Eine solche Struktur muß beim Laden beziehungsweise Entladen des Moduls registriert beziehungsweise deregistriert werden.