Kernel-Log: Was 2.6.28 bringt (3) – Mistige Treiber
Die unausgereiften Treiber des Linux-Staging-Entwicklungszweigs sind nun Bestandteil des Hauptentwicklungszweigs. Beim Laden eines Staging-Treibers wird der Kernel als "TAINT_CRAP" markiert um anzuzeigen, dass ein "mistiger" Treiber aktiv war.
Wie vor einigen Wochen auf dem Kernel-Summit beschlossen, haben die Kernel-Hacker den Entwicklungszweig "Linux-Staging" in den Hauptentwicklungszweig aufgenommen (1, 2). Ihn hatte Greg Kroah-Hartman erst vor einigen Monaten gestartet, um dort unabhängig vom offiziellen Linux-Kernel gewartete Open-Source-Treiber zusammenzutragen, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen; das sollte anderen Entwicklern eine zentrale Plattform bieten, um die Treiber dort für eine Aufnahme in den offiziellen Linux-Kernel aufzubereiten.
Die Verbesserung solcher Treiber mit teils schwerwiegenden Problemen im Code oder im Design wollen die Kernel-Entwickler nun innerhalb des Hauptentwicklungszweigs vorantreiben; alle Kernel-Hacker hätten den Code dort direkt vor Augen und könnten Verbesserungen über die üblichen, ihnen bekannten Wege beisteuern. Um die reifen von den unreifen Treibern klar zu trennen, landete der bisher in Linux-Staging zusammengetragene Code im neuen Verzeichnis driver/staging/. Damit aber auch den Anwendern klar wird, dass diese Treiber größere Probleme haben können, muss man Staging-Code explizit während der Kernel-Konfiguration aktivieren; beim Laden eines Staging-Treibers wird der Kernel zudem als "TAINT_CRAP" markiert, damit bei Fehlerberichten durch Anwender klar ersichtlich ist, dass ein "mistiger" Treiber geladen war und möglicherweise für Probleme (mit)verantwortlich ist (1, 2).
Zu den zirka zehn nun in den Hauptentwicklungszweig aufgenommenen Staging-Treibern sind einige recht bekannte, die Linux-Distributionen teilweise seit Jahren ausliefern – etwa der vom WLAN-NG-Projekt entwickelte Treiber prism2_usb für Intersil-USB-Chips oder der Treiber at76_usb für WLAN-Chips von Atmel. Es wird sich zeigen müssen, ob sich durch die Aufnahme in den Staging-Bereich des offiziellen Kernels nun mehr Kernel-Hacker als zuvor berufen fühlen, die Treiber zu verbessern – gerade bei dem alten und komplexen WLAN-NG-Treiber könnte das Schreiben eines von Grund auf neuen Treibers möglicherweise die bessere Herangehensweise sein.
Weitere Commits rund um die Aufnahme von Linux-Staging:
- Staging: add Alacritech slicoss network driver
- Staging: add Kconfig entries and Makefile infrastructure
- Staging: add sxg network driver
- Staging: add me4000 firmware files
- Staging: add me4000 pci data collection driver
- Staging: USB/IP: add host driver
- Staging: USB/IP: add client driver
- Staging: USB/IP: add common functions needed
- Staging: add the go7007 video driver
- Staging: add w35und wifi driver
- Staging: Fix gcc warnings in sxg
- Staging: go7007 v4l fixes
- Staging: add echo cancelation module
- Staging: SLICOSS: Fix warnings due to static usage
- Staging: SLICOSS: Fix remaining type names
- Staging: SLICOSS: Call pci_release_regions at driver exit
- Staging: workaround build system bug
- Staging: Lindent sxg.c
- Staging: SLICOSS: lots of checkpatch fixes
- Staging: add et131x network driver
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich auch in den vorangegangen Ausgaben des Kernel-Logs auf heise open:
- 17.10.2008: Mehr als 10 Millionen Zeilen in den Linux-Quellen
- 17.10.2008: Was 2.6.28 bringt (2) – Netzwerk-Infrastruktur und -Treiber
- 16.10.2008: Was 2.6.28 bringt (1) – ATA-Unterstützung und Block-Layer
- 16.10.2008: neue Catalyst-Treiber, 2.6.27.1 beseitigt Ursache für e1000e-Problem
- 15.10.2008: Dateisystem Ext4 verlässt Entwicklungsphase – ein Zwischenstopp auf dem Weg zu btrfs
- 15.10.2008: Neues zu Linux auf dem Linux-Kongress 2008
- 13.10.2008: Neue Stable-Kernel und Nvidia-Treiber, 2.6.27 wird lange gepflegt
- 10.10.2008: Viel bewegt – Die Neuerungen von Linux 2.6.27
- 06.10.2008: e1000e-Problem umschifft, Morton lobt Btrfs
Ältere Kernel-Logs finden sich über das Archiv oder die Suchfunktion von heise open.