Kernel-Log – Was 2.6.38 bringt (6): Treiber

Der HD-Audio-Treiber kann jetzt ohne Interrupts arbeiten und lässt den Prozessoren dann länger schlafen. Neu sind einige Treiber für Touchscreens und Multitouch Panel; der Synaptic-Touchpad-Treiber erkennt ab 2.6.38 mehrere Finger.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 34 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

In der Nacht von Montag auf Dienstag hat Linus Torvalds die achte Vorabversion von 2.6.38 veröffentlicht. In der Freigabe-Mail schreibt er, es wäre akzeptabel für ihn gewesen, diesen Entwicklungsstand als Linux 2.6.38 freizugeben; da er aber an einigen Tagen der nächsten Woche nicht da sei, hielt er es nicht für sinnvoll, das Merge Window von 2.6.39 zu öffnen.

Die Fertigstellung von 2.6.38 rückt also näher – das Kernel-Log will daher seine Berichterstattung über die Neuerungen von 2.6.38 vervollständigen und widmet sich zum Abschluss der Mini-Serie "Was 2.6.38 bringt" den Treibern aus bislang nicht besprochenen Funktionsbereichen. Teil eins und drei der Artikel-Serie hatten sich mit den Änderungen an dem für Grafikhardware und Netzwerk-Kommunikation zuständigen Code beschäftigt; Teil zwei und vier drehten sich um Dateisysteme und Storage; Architektur-Code, Virtualisierung und Infrastruktur kamen im fünften Teil zur Sprache.

Der Audio-Code des Kernels kann ab 2.6.38 ohne periodischen Interrupt arbeiten, sofern auch der eingesetzte Alsa-Sound-Treiber das beherrscht – für erste ist das nur der Treiber "hda_intel", der trotz seines Namens auch HDA-Hardware von AMD und Nvidia anspricht. Zusammen mit aktuellen, auf "timer-based scheduling" setzenden Versionen von Pulseaudio reduziert das die Zahl der vom System ausgelösten Interrupts, wodurch die CPU im Idealfall länger in stromsparenden Schlafzuständen verweilt. Pulseaudio-Entwickler Lennart Poettering wird im Commit-Kommentar mit den Worten zitiert, der Patch sei sehr interessant und wünschenswert; er habe lange auf so etwas gewartet.

Der Treiber oxygen spricht ab 2.6.38 auch die Xonar DG von Asus an, der bereits erwähnte HDA-Intel-Treiber nun auch einige von VMware-Produkten emulierte HDA-Chips. Wie immer integrierten die Kernel- und Alsa-Hacker Dutzende von Quirks, durch die einige system- oder herstellerspezifische Sonderbehandlungen idealerweise automatisch angewendet werden – diese auch über Modul-Optionen aktivierbare Spezialbehandlungen sind auf nicht wenigen Systemen für die korrekte Funktion der Audio-Hardware nötig. Ein Beispiel für solch einen Quirk ist etwa ein eine Änderung am Treiber für einen HDA-Chips von Conexant: Sie sorgt dafür, dass die SPDIF-Ausgänge und der Mikrofon-Eingang auf den Asus-Notebook-Familien A52J und U50F korrekt arbeiten. Die Links am Ende des Artikels verweisen zu zahlreichen anderen Quirks für Hardware von Acer, Dell, HP, Lenovo, Samsung oder Sony. Einige weitere Neuerungen rund um Audio-Treiber listet Takashi Iwai in seinem Haupt-Git-Pull-Request.

Den Kompatibilitätscode für Video4Linux der ersten Generation haben die Kernel-Entwickler entfernt (1, 2); auf V4L1 angewiesene Userspace-Anwendungen können über die libv4l1 auf Video-Hardware zugreifen, deren Treiber die zweite, derzeit aktuelle Generation des V4L-APIs nutzen. Auch die noch auf V4L1 angewiesenen und vermutlich kaum noch eingesetzten Treiber cpia und stradis haben die Kernel-Hacker entfernt; niemand hatte sich ihrer angenommen, nachdem sie in vor einigen Monaten in den Staging-Zweig verschoben worden waren. Das gleiche Schicksal droht auch bei 2.6.39 den Treibern dabusb, se401 und usbvideo, die in diesem Entwicklungszyklus in den Staging-Bereich verlagert wurden.

Neu dabei ist der Treiber mb86a20s für den gleichnamigen Chip von Fujitsu – ein Demodulator für das in Japan eingesetzte und in Süd Amerika eingeführte ISDB-T/ISDB-Tsb. Beim noch jungen Code für Fernbedienungen nutzt das Media-Subsystem nun an vielen Stellen nicht mehr das Kürzel "IR" (Infra Red), sondern RC (Remote Controller) (u. a. 1, 2, 3). Den Treiber "lirc_i2c" haben die Entwickler entfernt, weil der Treiber ir-kbd-i2c die gleiche Funktion offeriert. Einen Überblick über weitere Änderungen rund um das für Radio- und Fernseh-Hardware sowie Fernbedienungen zuständige Media-Subsystem liefert dessen Betreuer Mauro Carvalho Chehab in dem wichtigsten seiner für 2.6.38 abgesetzten Git-Pull-Requests.

Erneut gab es viele und große Änderungen im vorwiegend für Treiber genutzten Staging-Bereich für Code, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Hacker nicht genügt. Dazu zählt etwa ein für 2.6.38 integrierter Treiber für die RMI4- und TM1217-Touchscreen-Controller von Synaptics.

Im Staging-Bereich landete auch der "Discretix SEP driver" für den Security Processor, den Intel in einige der für Mobile Internet Devices beziehungsweise den Embedded-Bereich gedachte Chips einbaut. Zum Staging-Zweig stießen ferner über 30 Treiber für verschiede im Bereich Industrial I/O (IIO) eingesetzte Chips. Zudem gab es einige Änderungen bei den Staging-WLAN-Treibern, die der dritte Teil der Mini-Serie "Was 2.6.38 bringt" bereits erläutert hat.