Kernel-Log – Was 3.3 bringt (4): Treiber
Der Nouveau-Treiber spricht ab Linux 3.3 neuere GeForce-Chips an; Intels GPU-Stromspartechnik RC6 soll jetzt endlich zuverlässig arbeiten. Der Poulsbo-Grafiktreiber und einige Hyper-V-Treiber verlassen den Staging-Zweig, in den neue Treiber für Android einzogen.
- Thorsten Leemhuis
Der Intel-Grafiktreiber erhielt mit Linux 3.3 eine Anpassung, durch die der Kernel jetzt den tiefsten Schlafzustand der Intel-GPU-Stromspartechnik RC6 meidet. Dadurch soll diese Technik nun zuverlässig mit den Grafikkernen arbeiten, die in Intels Prozessoren der derzeit aktuellen Generation Sandy-Bridge stecken. RC6 spart laut Messungen der c't typischerweise 3 bis 5 Watt im Leerlauf; Anwender berichten teilweise von noch größeren Spareffekten. Bei sparsamen Notebooks kann solch eine Reduktion die Leerlauf-Leistungsaufnahme um 30 bis 40 Prozent senken und so die Akku-Laufzeit spürbar verlängern.
Doch auch bei Kernel 3.3 bleibt RC6 bei Sandy-Bridge-CPUs standardmäßig ausgeschaltet und muss über den Kernel-Parameter i915.i915_enable_rc6=1 manuell aktiviert werden; die Intel-Entwickler erwägen, die Technik bei Linux 3.4 standardmäßig einzuschalten. Indes haben die Kernel-Hacker die erst seit Linux 3.1 automatisch verwendete, aber längst nicht so effiziente Stromspartechnik Frame Buffer Compression (FBC) bei Linux 3.3 wieder standardmäßig lahmgelegt, da Probleme aufgetaucht sind.
Die Nouveau-DRM/KMS-Treiber für Grafikchips von Nvidia unterstützen ab Kernel 3.3 erstmals die Audio-Ausgabe via HDMI bei Grafikchips ab dem NVA3, der auch als GT215 bekannt ist (1, 2, 3, 4); solche Grafikkerne sitzen beispielsweise auf den GeForce-Modellen GT 240, 320 und 335M, den GTS-Modellen 250M, 260M, 350M und 360M sowie deren Nachfolgern. Der Nouveau-Treiber von Linux 3.3 steuert erstmals die GPU mit dem Codenamen NVD9 an, die unter anderem die GeForce-GT-Modelle 520, 520M, 520MX sowie die GeForce 410M verwenden. Zudem gab es eine Reihe von Änderungen, welche die nach wie vor rudimentäre Unterstützung für Stromspar- und Lüfter-Management im Nouveau-Treiber ein klein wenig verbessern. Der Nouveau-Treiber erhielt zudem einige Funktionen zur Unterstützung von Nvidias Grafikchip-Zuschalttechnik Optimus.
Entwicklungsstand
Bei der Freigabe der sechsten Vorabversion von Linux 3.3 erklärte Torvalds, dass diese möglicherweise die letzte Vorabversion sein könnte. Wahrscheinlich dürfte Linux 3.3 daher zum Anfang der nächsten Woche oder dem Beginn der Folgewoche erscheinen, sofern er und seine Mitstreiter nicht noch größere Probleme finden.
Der Radeon-DRM/KMS-Treiber für Grafikchips von AMD unterstützt nun HDMI-Audio-Ausgabe bei den Chips der Evergreen-Generation, die häufig, aber nicht immer auf GPUs der Radeon-HD-5000er-Serie sitzen. Die Informationen zur Ansteuerung der HDMI-Audio-Hardware wurden mit Hilfe von Reverse Engineering ermittelt; wie gut der so entstandene Code arbeitet, muss der Feldtest zeigen. Der neue "GPU virtual memory support" legt einige Grundlagen für einen Open-Source-Treiber für die "Southern Islands"-Grafikchips, die auf einigen Grafikkarten der kürzlich eingeführten Radeon-HD-7000-Serie im Einsatz sind; dieser Code soll langfristig zudem die CPU entlasten, wenn Command Streams an die GPU gesendet werden. Die mit 3.3 eingebauten Multiple Fence Queues für den Radeon-DRM/KMS-Treiber rüsten einige Funktionen nach, die unter anderem zur Nutzung der UVD genannten Video-Einheiten nötig ist.
Der neue "DMA aware ttm page pool code" vereinfacht das Virtual Memory Management im Radeon-DRM/KMS-Treiber und ermöglicht den Einsatz des von Radeon und Nouveau verwendeten GPU-Speicherverwaltungstechnik TTM (Translation Table maps) unter Xen. Einige weitere Änderungen an den Grafiktreibern finden sich bei den kleinen Perlen am Ende des Artikels und im Haupt-Git-Pull-Request von DRM-Subsystem-Betreuer Dave Airlie.
Gereift
Der von Intel-Mitarbeiter und Kernel-Urgestein Alan Cox entwickelte DRM/KMS-Grafiktreiber für die Intels-Grafikkerne GMA500, GMA600 und GMA3600 zog in das DRM-Subsystem ein (u. a. 1, 2, 3, 4, 5); der Treiber war zuvor unter anderem Namen einige Monate im Staging-Bereich für verbesserungsbedürftigen Code. Auch der gereifte Treiber unterstützt allerdings nur die wichtigsten Funktionen der Grafikchips. Der GMA500 in Intels Embedded-Chip US15W ("Poulsbo") wurde auch in einigen Netbooks verbaut und hat dort einigen Linux-Anwendern in den letzten Jahren reichlich Kopfschmerzen bereitet: Die Treiber-Situation war lange recht verfahren, weil Intel die proprietären Treiber nicht direkt zum Download anbot und die im Umlauf befindlichen Treiber mit aktuellen Linux-Distributionen häufig nicht oder nicht gut funktionierten.
Die von Microsoft selbst vorangetriebenen Netzwerk-, HID- und Maus-Treiber für die eigene Virtualisierungsschnittstelle Hyper-V sind nach mehreren Jahren im Staging-Bereich nun so weit gereift, dass sie in die zuständigen Subsysteme umziehen konnten. Der Storage-Treiber hat den Sprung knapp verpasst; er soll den Staging-Bereich mit dem Kernel 3.4 verlassen, womit dann auch der letzte Hyper-V-Treiber das Staging-Siegel ablegt.
Staging, DMA-Buffer, Verschiedenes
Unreif
In den Staging-Bereich eingezogen sind wie erwartet einige Android-spezifische Treiber – darunter auch einige, die vor Jahren schon mal im Staging-Bereich waren, aber wieder entfernt wurden, weil sich niemand um sie gekümmert hatte (u. a. 1, 2, 3, 4, 5). Durch diese Änderungen soll der Standard-Kernel jetzt alles Nötige zum Booten des Android-Userlands mitbringen; es fehlt allerdings noch der Wakelock-Code oder ein Äquivalent, um ordentliche Akku-Laufzeiten zu erreichen. Einige Hintergründe zum Stand der Integration der Android-spezifischen Änderungen hat John Stultz kürzlich in einem LWN.net-Artikel zusammengefasst, in dem er von einem Treffen der Android Mainlining Interest Group berichtet.
Neu im Staging-Bereich ist ein rudimentärer DRM/KMS-Treiber für die OMAP-Platform von Texas Instruments. Entfernt haben die Kernel-Entwickler unter anderem den Staging-Code des Dateisystems pohmelfs, da dessen Erfinder an einem Nachfolger arbeitet, den er neu entwickelt hat (1, 2).
Teilen
Über den Verwalter der DRM-Subsystems stieß ein "DMA Buffer Sharing Mechanism" (dma_buf) genanntes Framework zum Kernel, über das sich mehrere Treiber einen DMA Buffer teilen können (u. a. 1, Dokumentation). Diese bislang noch von keinen Treiber genutzte Infrastruktur ist für Embedded-Systeme interessant, da der Kernel damit beispielsweise die von einer Kamera erfassten Bilddaten sowohl an einen Video-Encoder als auch an die Grafikhardware zur Darstellung weiterleiten kann, ohne die Bilddaten im Arbeitsspeicher vervielfältigen zu müssen.
In Systemen mit Hybridgrafik könnte ein dedizierter Grafikchip mittels dma_buf die von ihm berechneten Bilder ohne viel Aufwand über die Chipsatz- oder Prozessor-Grafik ausgeben – das ist etwa zur Unterstützung von Nvidias Technik Optimus interessant, die sich in nicht wenigen modernen Notebooks findet. Es wird allerdings noch diskutiert, ob auch proprietäre Treiber wie jener von Nvidia den DMA-Buffer-Sharing-Mechanismus verwenden dürfen; Rob Clark, einer der Hauptentwickler des Codes, hat sich einen Monat nach Beginn der Diskussion dafür ausgesprochen, es zu erlauben.
Einige Hintergründe zur DMA-Buf-Infrastruktur finden sich in einem LWN.net-Artikel und zwei Videos: Das erste stammt von einem Vortrag auf der Embedded Linux Conference (ELC), in dem Rob Clark das Framework beschrieben hat; die zweite Aufzeichnung zeigt einen Fosdem-Vortrag, in dem Daniel Vetter die Technik erläutert.
Verschiedenes
- Die im Rahmen des Alsa-Projekts entwickelten Audio-Treiber des Kernels können die zur Ausgabe an die Hardware gesendeten Daten jetzt komprimiert übertragen (u. a. 1, Dokumentation). Der Treiber für HDA-Codecs von Cirrus spricht nun den Cirrus Logic 4213 an. Zu den weiteren Änderungen zählen eine Fortsetzung der Umbauten, damit die Treiber seltener auf im Kernel hinterlegte Sonderbehandlungen zurückgreifen müssen, um Realtek-Audio-Chips korrekt zu konfigurieren.
- Neu in Linux 3.3 ist Code für den Tuner der Terratec H7; die Aufnahme eines Treiber für diese USB-Box, die digitales Antennen- und Kabelfernsehen ermöglicht und ein CI-Modul enthält, ist noch in Vorbereitung. Es gab zudem eine Reihe von Umbauarbeiten und Erweiterungen rund um die Programmierschnittstellen (APIs) der Frontend- und Tuner-Treiber; Details finden sich bei den kleinen Perlen auf der nächsten Seite und in einer Mail von Media-Subsystem-Betreuer Mauro Carvalho Chehab.
- Die ATA-Treiber erhielten einige Verbesserungen zum Power-Management zur Laufzeit (1, 2, 3, 4).
- Der Treiber für ALPS-Touchpads spricht nun Touchpads an, die Version 3 und 4 eines ALPS-Protokolls verwenden. Bisher nutzte der Kernel deren PS/2-Kompatibiltiätsmodus, der eine Doppelklick-Funktion bereitstellten; jetzt muss man diese Funktion unter Umständen explizit aktivieren.
- Der Hardware-Monitoring-Treiber it87 unterstützt nun den auf einigen Mainstream-Mainboards eingesetzten Baustein IT8728F.
- Bei der Programmierung von Kernel-Treibern gibt es nun keine Sonderbehandlung mehr für "System Devices" (sysdev) (1, 2); Treiber für Plattform-spezifische Geräte müssen in Zukunft mit den regulären Schnittstellen und Bus-Funktionen vorlieb nehmen.
- Durch den neuen Charger Manager (Dokumentation) lernt der Kernel einige Funktionen zum Laden von Batterien auf Geräten, wo die Software den Ladevorgang überwachen und regeln muss.
Die "Was Linux 3.3 bringt"-Serie
Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der Mitte März erwarteten Linux-Version 3.3 geben, da alle größeren Neuerungen bereits in den ersten zwei Entwicklungswochen integriert wurden; Linux 3.3 befindet sich daher jetzt in der Stabilisierungsphase, in der die Kernel-Hacker normalerweise keine größeren Änderungen mehr vornehmen.
Über einige der Neuerungen von Linux 3.3 hat das Kernel-Log bereits berichtet:
- Was 3.3 bringt (1): Netzwerk
- Was 3.3 bringt (2): Dateisysteme und Storage
- Was 3.3 bringt (3): Architektur und Infrastruktur
Der nebenstehende Text schließt die "Was 3.3 bringt"-Serie ab.
Kleine Perlen
Die kleinen Perlen
Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:
Audio
- [
] ALSA: Add missing module parameters for als300 and cs5530 drivers - [
] ALSA: emu10k1 - add another Audigy 2 ZS ID - [
] ALSA: hda - Add a fake mute feature - [
] ALSA: HDA: Add support for new AMD products - [
] ALSA: hda - add support for Uniwill ECS M31EI notebook - [
N2] ALSA: hda - Cache the jack-detection value - [
] ALSA: hda/cirrus - support for iMac12,2 model - [
1] ALSA: hda - Create jack-detection kcontrols - [
] ALSA: hda_intel: Add Oaktrail identifiers - [
] ALSA: hda/realtek - Add the support of shared HP/Mic - [
] ALSA: hda/realtek - Convert ALC262 benq and benq-t31 to fixup-lists - [
] ALSA: hda/realtek - Convert ALC262 lenovo-3000 quirks to fixup-list - [
] ALSA: hda/realtek - Convert ALC262 model=fujitsu to auto-parser - [
] ALSA: hda/realtek - Convert ALC262 model=toshiba-rx1 to a fixup-list - [
] ALSA: hda/realtek - Convert alc262 model=tyan to a fixup-list - [
] ALSA: hda/realtek - Drop ALC262 model=basic static configs - [
] ALSA: hda/realtek - Drop ALC262 model=hippo static quirks - [
] ALSA: hda/realtek - Drop ALC262 model=hippo static quirks - [
] ALSA: hda/realtek - Drop ALC262 model=nec quirk - [
] ALSA: hda/realtek - Drop ALC262 model=toshiba-s06 - [
] ALSA: hda/realtek - Drop ALC882 3stack-hp, 6stack-dell and clevo-m540r models - [
] ALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m models - [
3] ALSA: hda/realtek - Drop ALC882 desktop model quirks - [
1] ALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configs - [
] ALSA: hda/realtek - Drop ALC882 mitac and fujitsu-xa3530 static configs - [
] ALSA: hda/realtek - Drop ALC882 model=acer quirk - [
] ALSA: hda/realtek - Drop ALC882 model=asus-p5q static config - [
] ALSA: hda/realtek - Drop ALC882 model=clevo-m720 quirk - [
1] ALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirks - [
] ALSA: hda/realtek - Look through codec SSID for fix-up lists - [
] ALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parser - [
] ALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parser - [
] ALSA: hda/realtek - Move ALC882 model=acer-aspire to auto-parser - [
] ALSA: hda/realtek - Move ALC888 ASUS EEE1601 config to auto-parser - [
1] ALSA: hda/realtek - Remove ALC882 targa-* models - [
D] ALSA: hda/realtek - Remove all ALC262-quirk codes - [
] ALSA: hda/realtek - Reorder alc882_fixup_tbl[] - [
] ALSA: hda/realtek - Replace ALC882 arima, medion and laptop-eapd quirks - [
2] ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser - [
] ALSA: hda/realtek - Rewrite ALC882 model=vaio-tt with auto-parser - [
] ALSA: HDA: Remove quirk for Asus N53Jq - [
] ALSA: HDA: Remove quirk for Toshiba Qosmio G50 - [
D] ALSA: hda: remove unused quirk for inverted mute led - [
] ALSA: hda - Supports more audio streams - [
] ALSA: HDA: Use LPIB position fix for Macbook Pro 7,1 - [
] ALSA: HDA: Use model=auto for Thinkpad T510 - [
C N] ALSA: Introduce common helper functions for jack-detection control - [
D 8] ALSA: module_param: make bool parameters really bool - [
] ALSA: usb-audio: add Edirol UM-3G support - [
] ALSA: usb-audio: add Yamaha MOX6/MOX8 support - [
] ALSA: virtuoso: add S/PDIF input support for all Xonars - [
C N] ARM: mach-shmobile: add bonito board support. - [
C 2] ARM: mach-shmobile: r8a7740: add INTC support - [
C N4] ARM: mach-shmobile: R-Mobile A1 support. - [
C N] ASoC: Add basic 1277-EV1 Littlemill audio driver - [
C N] ASoC: Add Lowland machine driver - [
C N4] ASoC: Add new Realtek ALC5632 CODEC driver - [
C N5] ASoC: Add support for CS42L73 codec - [
] ASoC: ak4642: add ak4648 support - [
] ASoC: ak4642: add Line out support - [
C 1] ASoC: Convert WM2000 into a standard CODEC driver - [
] ASoC: da7210: Add support for line input and mic - [
1] ASoC: Implement support for WM1811A jack detection - [
C] ASoC: Move SigmaDSP firmware loader to ASoC - [
C N1] ASoC: OMAP4: omap-dmic: Initial support for OMAP DMIC - [
C 1] ASoC: Remove LZO cache type - [
C] ASoC: Rename Speyside WM8962 to Tobermory - [
C] ASoC: sdp4430: Add support for digital microphones - [
N] ASoC: sta32x: add platform data definition - [
DN] ASoC: Tegra DAS: Add device tree binding - [
DN] ASoC: Tegra I2S: Add device tree binding - [
C N] ASoC: Tegra machine ASoC driver for boards using ALC5332 codec - [
DN1] ASoC: Tegra+WM8903 machine: Add device tree binding [DN] ASoC: WM8903: Add device tree binding
Graphics
- [
C] backlight: remove ADX backlight device support - [
] CHROMIUM: i915: Add DMI override to skip CRT initialization on ZGB - [
N3] drm: add an fb creation ioctl that takes a pixel format v5 - [
1] drm: add plane support v3 - [
C N9] drm/exynos: added hdmi display support - [
N1] drm/exynos: Add plane support with fimd - [
1] drm/i915: add color key support v4 - [
N3] drm/i915: add SNB and IVB video sprite support v6 - [
] drm/i915: gen7: Disable the RHWO optimization as it can cause GPU hangs. - [
] drm/i915: gen7: Implement an L3 caching workaround. - [
] drm/i915: gen7: implement rczunit workaround - [
] drm/i915: gen7: work around a system hang on IVB - [
] drm/i915: Re-enable gen7 RC6 and GPU turbo after resume. - [
] drm: introduce drm_can_sleep and use in intel/radeon drivers. (v2) - [
1] drm/nouveau: add overscan compensation connector properties - [
2] drm/nouveau/disp: parse connector info directly in nouveau_connector.c - [
] drm/nouveau/dp: remove broken display depth function, use the improved one - [
] drm/nouveau: enable the ttm dma pool when swiotlb is active V3 - [
] drm/nouveau: fix typo on mxmdcb option - [
N5] drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues - [
2] drm/nouveau/i2c: do parsing of i2c-related vbios info in nouveau_i2c.c - [
N1] drm/nouveau/mxm: initial implementation of dcb sanitisation - [
] drm/nouveau/pm: introduce generic handler for on-chip fan controller - [
1] drm/nouveau/pm: manual pwm fanspeed management for nv40+ boards - [
N1] drm/nouveau/vdec: implement stub modules for the known engines - [
] drm/nv40/pm: convert to new pwm hooks, also fixing pwm type detection - [
] drm/nv40/pm: implement first type of pwm fanspeed funcs - [
] drm/nv41/pm: implement a second type of fanspeed pwm - [
] drm/nv50/pm: add support for pwm fan control - [
N1] drm/nv50/pm: introduce hwsq-based memory reclocking - [
2] drm/nv50/pm: rewrite clock management, and switch to the new pm hooks - [
1] drm/nva3/copy: update fuc source for latest envytools - [
2] drm/nvc0/gr: update fuc source to assemble with latest envyas - [
] drm/nvc0/pm: initial engine reclocking - [
1] drm/nvd0/disp: add support for page flipping - [
N4] drm/radeon: introduce a sub allocator and convert ib pool to it v4 - [
] drm/radeon/kms: Add an MSI quirk for Dell RS690 - [
N2] drm/radeon/kms: add support for semaphores v3 - [
] drm/radeon/kms: enable the ttm dma pool if swiotlb is on V4 - [
1] drm/radeon/kms: refine TMDS dual link checks - [
DN1] fbdev: Add FOURCC-based format configuration API - [
] fbdev/cirrusfb: Add support for "64 MiB" version of Picasso IV - [
] fbdev/cirrusfb: Add support for Picasso IV in Zorro II mode - [
C 1] fbdev: remove display subsystem - [
2] fbdev: sh_mobile_lcdc: Support FOURCC-based format API - [
N1] gma500: Add device framework - [
N8] gma500: Add Oaktrail support - [
N9] gma500: Add support for Cedarview - [
N1] gma500: Add support for Intel GMBUS - [
] gma500: Add the E6xx PCI identifier we are missing - [
] gma500: Discard modes that don't fit in stolen memory - [
] gma500: Final enables for Oaktrail [N1] gma500: GEM and GEM glue
I2C, Hwmon, Watchdog
- [
C 1] hwmon: (f75375s) Add support for F75387SG/RG - [
] hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable - [
D] hwmon: (lm63) Add sensor type attribute for external sensor on LM96163 - [
] hwmon: (lm63) Add support for external temperature offset register - [
CD] hwmon: (lm63) Add support for LM96163 - [
] hwmon: (lm63) Add support for unsigned upper temperature limits - [
D] hwmon: (lm63) Add support for update_interval sysfs attribute - [
] hwmon: (lm63) Add support for writing the external critical temperature - [
D 1] hwmon: (lm63) Expose automatic fan speed control lookup table - [
D] hwmon: (lm63) LM64 has a dedicated pin for tachometer - [
CD] hwmon: (pmbus/zl6100) Add support for Ericsson BMR45[0,1] and BMR46[2,3,4] - [
CD] hwmon: (pmbus/zl6100) Add support for ZL2005 - [
D] hwmon: (sysfs-interface) Update tempX_type attribute to be more generic - [
C] i2c-eg20t: Support new device LAPIS Semiconductor ML7831 IOH - [
DN1] i2c: OMAP: Add DT support for i2c controller - [
D] watchdog: add nowayout helpers to Watchdog Timer Driver Kernel API - [
D] watchdog: documentation: describe nowayout in coversion-guide - [
] watchdog: iTCO_wdt: add Intel Lynx Point DeviceIDs [C N1] watchdog: new driver for VIA chipsets
HID
- [
] HID: hid-multitouch - add another eGalax id - [
C] HID: hid-multitouch: add support 9 new Xiroku devices - [
] HID: hid-multitouch: add support for new Hanvon panels - [
C] HID: hyperv: fixup Kconfig / Makefile entries - [
C N1] HID: Move the hid-hyperv driver out of staging - [
] HID: multitouch: Add egalax ID for Acer Iconia W500 - [
] HID: multitouch: add support for 3M 32" - [
] HID: multitouch: add support for the MSI Windpad 110W - [
C] HID: multitouch: add support of Atmel multitouch panels - [
DN] HID: multitouch: create sysfs attribute to control quirks from user-space - [
C 1] HID: multitouch: merge quanta driver into hid-multitouch - [
C] HID: multitouch: support PixArt optical touch screen - [
CDN2] HID: roccat: Add support for Isku keyboard - [
] HID: wacom: Initial driver for Wacom Intuos4 Wireless (Bluetooth) - [
C N] HID: wiimote: Add extension support stub - [
D] HID: wiimote: Add extension sysfs attribute - [
C N2] Input: add driver for AUO In-Cell touchscreens using pixcir ICs - [
C N] Input: add driver for pixcir i2c touchscreens - [
C N1] Input: add driver for Sharp gp2ap002a00f proximity sensor - [
C N1] Input: add EETI eGalax I2C capacitive multi touch driver - [
CDN1] Input: add generic GPIO-tilt driver - [
1] Input: ALPS - add semi-MT support for v3 protocol - [
DN] Input: ALPS - move protocol information to Documentation - [
D] Input: document device properties - [
] Input: elantech - add resolution query support for v4 hardware - [
] Input: elantech - add support for elantech fast command - [
] Input: i8042 - add Lenovo Ideapad U455 to 'reset' blacklist - [
DN1] input: samsung-keypad: Add device tree support - [
] Input: samsung-keypad - implement runtime power management support - [
D 2] Input: sentelic - document the latest hardware - [
1] Input: synaptics - add support for Relative mode - [
C N1] Input: tca8418_keypad - initial driver release - [
DN] Input: tegra-kbc - add device tree bindings - [
C] Input: usbtouchscreen - add ELO IntelliTouch 2700 support - [
] Input: wacom - 3rd gen Bamboo P&Touch packet support - [
D] Input: wacom - add LED support for Cintiq 24HD - [
] Input: wacom - add support for Cintiq 24HD [C 1] Staging: hv: remove hv_mouse driver as it's now in the hid directory
Media
- [
] lirc_parallel: fix module parameter description. - [
] [media] Added model Sveon STV40 - [
] [media] Add support for two Leadtek Winfast TV 2000XP types - [
5] [media] add the support for DiBcom dib8096P - [
7] [media] af9013: rewrite whole driver - [
C] [media] anysee: add support for Anysee E7 T2C - [
] [media] anysee: CI/CAM support - [
C N2] [media] as3645a: Add driver for LED flash controller - [
] [media] bt8xx: add support for PCI device ID 0x36c - [
] [media] bt8xx: add support for Tongwei Video Technology TD-3116 - [
D] [media] bttv: adding Sensoray 611 board to driver - [
C] [media] ce168: remove experimental from Kconfig - [
C] [media] ce6230: remove experimental from Kconfig - [
] [media] cx23885: add support for Mygica X8507 - [
] [media] cx23885: add Terratec Cinergy T PCIe dual - [
1] [media] cx23885: Hauppauge HVR1850 Analog driver support - [
9] [media] cx25840: Hauppauge HVR1850 Analog driver support - [
2] [media] dib7000p/dib0090: update the driver - [
] [media] dib7090: add the reference board TFE7790E - [
] [media] dib8096P: add the reference board TFE8096P - [
D] [media] DocBook/dvbproperty.xml: Fix ISDB-T delivery system parameters - [
D] [media] DocBook/dvbproperty.xml: Fix the units for DTV_FREQUENCY - [
D] [media] DocBook/dvbproperty.xml: Remove DTV_MODULATION from ISDB-T - [
DN2] [media] doc: v4l: add binary images for selection API - [
DN2] [media] doc: v4l: add documentation for selection API - [
D] [media] doc: v4l: selection: choose pixels as units for selection rectangles - [
] [media] drxk: Add support for parallel mode and prints mpeg mode - [
D] [media] dvb: Allow select between DVB-C Annex A and Annex C - [
D] [media] dvb: deprecate the usage of ops->info.type - [
D] [media] DVB: Docbook update for DTV_ENUM_DELSYS - [
] [media] dvb_frontend: improve documentation on set_delivery_system() - [
D] [media] dvb_get_firmware: updates for it913x - [
] [media] em28xx: Add IR support for em2884 - [
] [media] em28xx: Add IR support for HVR-930C - [
] [media] em28xx: Add Terratec Cinergy HTC Stick - [
] [media] em28xx: Add Terratec Cinergy HTC USB XS to em28xx-cards.c - [
D] [media] em28xx: Fix some Terratec entries (H5 and XS) - [
] [media] em28xx: Fix tuner_type for Terratec Cinergy 200 USB - [
1] [media] em28xx: initial support for HAUPPAUGE HVR-930C again - [
C N6] [media] Exynos4 JPEG codec v4l2 driver - [
D] [media] get_dvb_firmware: add support for HVR-930C firmware - [
] [media] gscpa_t613: Add support for the camera button - [
CDN1] [media] gspca: Add jl2005bcd sub driver - [
D] [media] gspca - ov534_9: New sensor ov5621 and webcam 05a9:1550 - [
] [media] gspca_pac7302: Add usb-id for 145f:013c - [
C N3] [media] HDIC HD29L2 DMB-TH demodulator driver - [
] [media] it9135: add support for IT9135 9005 devices - [
] [media] it913x add support for IT9135 9006 devices - [
4] [media] it913x Support it9135 Verions 2 chip - [
] [media] it913x ver 1.09 support for USB 1 devices (IT9135) - [
] [media] KWorld 355U and 380U support - [
C] [media] mt2063: Add it to the building system - [
] [media] Properly implement ITU-T J.88 Annex C support - [
1] [media] pwc: Get rid of compression module parameter - [
D 3] [media] pwc: Remove driver specific ioctls - [
D] [media] pwc: Remove driver specific sysfs interface - [
D] [media] pwc: Remove driver specific use of pixfmt.priv in the pwc driver - [
D 2] [media] pwc: Remove software emulation of arbritary resolutions - [
C N1] [media] rc: Add support for decoding Sanyo protocol - [
1] [media] s5p-fimc: Add support for alpha component configuration - [
D] [media] saa7134: adding Sensoray boards to saa7134 driver - [
] [media] staging: as102: Add support for Sky Italia Digital Key based on the same chip - [
] [media] Support for Sveon STV22 (IT9137) - [
] [media] tda10021: Add support for DVB-C Annex C - [
] [media] tda10023: add support for DVB-C Annex C - [
] [media] tda18212: add DVB-T2 support - [
] [media] tm6000: add IR support for HVR-900H - [
C] [media] tm6000: remove experimental depends - [
1] [media] tm6000: rewrite IR support - [
D] [media] Update documentation to reflect DVB-C Annex A/C support - [
D] [media] update Documentation/video4linux/CARDLIST.* - [
D] [media] Update some CARDLIST's - [
N] [media] uvcvideo: Add debugfs support - [
] [media] uvcvideo: Add support for LogiLink Wireless Webcam - [
1] [media] uvcvideo: Add UVC timestamps support - [
D] [media] v4l2 framework doc: clarify locking - [
D] [media] v4l2-ioctl: make tuner 'type' check more strict for S_FREQUENCY - [
D] [media] v4l2 spec: clarify usage of V4L2_FBUF_FLAG_OVERLAY - [
D] [media] V4L2 Spec: clarify usage of V4L2_FBUF_FLAG_PRIMARY - [
D] [media] V4L2 Spec: fix extended control documentation - [
D] [media] V4L2 spec: fix the description of V4L2_FBUF_CAP_SRC_CHROMAKEY - [
D] [media] V4L2 Spec: improve the G/S_INPUT/OUTPUT documentation - [
D] [media] v4l: Add new alpha component control - [
D] [media] v4l: Add over-current and indicator flash fault bits - [
C] [media] V4L menu: add submenu for platform devices - [
C] [media] V4L menu: move all PCI(e) devices to their own submenu - [
C] [media] V4L menu: move ISA and parport drivers into their own submenu - [
C] [media] V4L menu: remove the EXPERIMENTAL tag from vino and c-qcam - [
C 1] [media] V4L menu: reorganize the radio menu - [
D] [media] V4L spec: fix typo and missing CAP_RDS documentation - [
] [media] xc5000: Add support for 7MHz bandwidth for DVB-C/DVB-T [DN] v4l: Add V4L2_PIX_FMT_NV24 and V4L2_PIX_FMT_NV42 formats
MFD, MMC, MTD
- [
DN] Documentation: add sysfs entries for mtd docg3 chips - [
DN] mfd: Add basic device tree binding for wm8994 - [
DN] mfd: Add basic device tree binding for wm8994 - [
DN] mfd: Add device tree probe support for mc13xxx - [
N1] mfd: Add S5M core driver - [
C] mfd: Add S5M series configuration - [
N1] mfd: Add s5m series irq driver - [
C N] mfd: Add support for STMPE SPI interface - [
] mfd: Add WM1811A device ID to wm8994 driver - [
C N] MFD: DA9052/53 MFD core module add SPI support v2 - [
C N4] MFD: DA9052/53 MFD core module - [
D] mfd: Improve mc13xxx dt binding document - [
2] MFD: OMAP: USB: Runtime PM support - [
C N1] mfd: Separate out STMPE controller and interface specific code - [
CDN] mfd: twl-core: Add initial DT support for twl4030/twl6030 - [
N] mmc: add a generic GPIO card-detect helper - [
D 1] mmc: boot partition ro lock support - [
D] mmc: core: Fixup delayed work clock gating patch - [
1] mmc: core: HS200 mode support for eMMC 4.5 - [
D] mmc: core: Use delayed work in clock gating framework - [
N] mmc: sdhci-pci: add platform data - [
C] mtd: docg3: add ECC correction code - [
1] mtd: docg3: add fast mode - [
DN] mtd: gpio-nand: add device tree bindings [C N1] mtd: maps: bcm963xx-flash: make CFE partition parsing an mtd parser
Staging
- [
C N3] Driver for GE PIO2 VME Card - [
2] drm/omap: add GEM support for tiled/dmm buffers - [
N6] drm/omap: DMM/TILER support for OMAP4+ platform - [
C N] gma500: Move the basic driver out of staging - [
C] iio: gyro: ADXRS450: Add support for ADXRS453 Digital Gyroscope - [
] MAINTAINERS: staging: iio: add iio information - [
C N1] rtl8192e: Split into two directories - [
C] rtl8192e: Split the driver up - [
N] staging: android: ram_console: pass in a boot info string - [
C N1] staging: android: switch: switch class and GPIO drivers. - [
C 9] staging: delete gma500 driver - [
C 9] Staging: delete spectra driver - [
N2] staging: drm/omap: add drm_plane support - [
] staging: drm/omap: add ywrap module param - [
1] staging: drm/omap: multiplanar and YUV support - [
C 1] Staging: hv: mousevsc: Remove the mouse driver from the staging tree - [
C 1] Staging: hv: remove hv_mouse driver as it's now in the hid directory - [
] Staging: hv: storvsc: Support hot add of scsi disks - [
] Staging: hv: storvsc: Support hot-removing of scsi devices - [
C] staging:iio:dac:ad5446: Add support for the AD5662 - [
C] staging:iio:dac:ad5791: Add id entry for the ad5790 - [
C N1] staging:iio:dac: Add AD5380 driver - [
C N1] staging:iio:dac: Add AD5764 driver - [
N1] staging: line6: add Pod HD300 support - [
DN] staging: nvec: add device tree support - [
] staging: r8712u: Add new Sitecom UsB ID - [
C 9] staging: remove intel_sst driver - [
2] staging/rtl8192e: Convert to lib80211_crypt_data and lib80211_crypt_ops - [
1] staging/rtl8192e: Convert to lib80211_crypt_info - [
C 1] staging/rtl8192e: Register against lib80211 - [
] Staging: VME: Update TODO file [] staging: xgifb: enable forcecrt2type as a module parameter
USB
- [
] USB: Added Kamstrup VID/PIDs to cp210x serial driver. - [
1] USB: add new zte 3g-dongle's pid to option.c - [
D] USB: Add optional match for interface class to dynamic ID facility - [
] USB: add quirk for another camera - [
C N] USB: Add Samsung Exynos OHCI diver - [
] usb: add support for STA2X11 host driver - [
] USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c - [
C N] usb: dwc3: add xHCI Host support - [
] usb: dwc3: allow forcing a maximum speed - [
C N1] USB: EHCI: Add Marvell Host Controller driver - [
C] USB: ehci-ath79: Add device_id entry for the AR933X SoCs - [
] USB: Fix handoff when BIOS disables host PCI device. - [
] USB: ftdi_sio: Add more identifiers - [
] USB: ftdi_sio: add PID for TI XDS100v2 / BeagleBone A3 - [
1] usb: gadget: mass_storage: support multi-luns with different logic block size - [
D 1] usb: gadget: replace usb_gadget::is_dualspeed with max_speed - [
D] USB: make the usbfs memory limit configurable - [
C] usb: musb: use a Kconfig choice to pick the right DMA method - [
] USB: option: Add LG docomo L-02C - [
] usb: option: add ZD Incorporated HSPA modem - [
C N3] USB: OTG: add Marvell usb OTG driver support - [
C 6] usb: otg: kill langwell_otg driver - [
] USB: qcserial: add several new serial devices - [
] USB: serial: CP210x: Added USB-ID for the Link Instruments MSO-19 - [
] USB: serial: ftdi additional IDs - [
D] USB: update documentation for usbmon - [
] USB: usbserial: add new PID number (0xa951) to the ftdi driver - [
] usb: usb-storage doesn't support dynamic id currently, the patch disables the feature to fix an oops - [
] xhci: Fix encoding for HS bulk/control NAK rate. [] xhci: Fix USB 3.0 device restart on resume.
Various
- [
] ahci: support the STA2X11 I/O Hub - [
DN] bq20z75: Devicetree init support - [
C] bq20z75: Rename to sbs-battery - [
] bq27x00_battery: Add support for property POWER_SUPPLY_PROP_CAPACITY_LEVEL - [
C] clk: add config option HAVE_CLK_PREPARE into Kconfig - [
D] devicetree-bindings: Add vendor entry for Smart Battery Systems - [
DN] devicetree-bindings: Propagate bq20z75->sbs rename to dt bindings - [
C] dma-buf: mark EXPERIMENTAL for 1st release. - [
C N2] dmaengine: add CSR SiRFprimaII DMAC driver - [
DN] dmaengine: at_hdmac: add device tree support - [
D] DMAEngine: Define interleaved transfer request api - [
1] dmaengine/ste_dma40: support pm in dma40 - [
DN] DMA: PL330: Add device tree support - [
] Documentation update for the driver model core - [
DN] drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030 - [
C] drivers/tty/serial/pch_uart.c: add console support - [
] ds2760_battery: Add rated capacity of the hx4700 3600mAh battery - [
DN] gpio/samsung: Add device tree support for EXYNOS4 - [
C N2] leds: add driver for TCA6507 LED controller - [
C N] leds: add led driver for Bachmann's ot200 - [
C N1] leds: Add suuport for MAX8997-LED driver - [
] [libata] ata_piix: Add Toshiba Satellite Pro A120 to the quirks list - [
] [libata] enable ata port async suspend - [
D] lib: devres: add convenience function to remap a resource - [
] MAINTAINERS: Greg's suse email address is dead - [
C N1] misc: Add driver support for MAX8997 MUIC - [
DN] olpc_battery: Bind to device tree - [
C] pch_dma: Support new device LAPIS Semiconductor ML7831 IOH - [
C] pch_gpio: Support new device LAPIS Semiconductor ML7831 IOH - [
C] pinctrl/coh901: driver to request its pins - [
C] pinctrl: move the U300 GPIO driver to pinctrl - [
C] pinctrl: rename U300 and SIRF pin controllers - [
C N1] power_supply: Add DA9052 battery driver - [
C N1] power_supply: Add LP8727 charger driver - [
D 1] power_supply: Charger-Manager: Add properties for power-supply-class - [
C] power_supply: Mark da9052 driver as broken - [
C N1] regmap: Add a reusable irq_chip for regmap based interrupt controllers - [
DN] regulator: adapt fixed regulator driver to dt - [
C N1] regulator: DA9052/53 Regulator support - [
D] regulator: fix label names used in device tree bindings - [
D] regulator: Fix regulator_register() API signature in Documentation - [
DN] regulator: helper routine to extract regulator_init_data - [
] regulator: mc13892: add device tree probe support - [
DN] rtc/ab8500: add calibration attribute to AB8500 RTC - [
DN] rtc: rtc-s3c: Add device tree support - [
C N] serial: add irq handler for Freescale 16550 errata. - [
C N2] SERIAL: AR933X: Add driver for the built-in UART of the SoC - [
D] serial/documentation: fix documented name of DCD cpp symbol - [
C 1] serial: Kill off Moorestown code - [
DN] serial: samsung: add device tree support - [
] serial: samsung: Add support for EXYNOS4212 and EXYNOS4412 - [
] serial: samsung: Add support for EXYNOS5250 - [
] topology: Provide CPU topology in sysfs in !SMP configurations [C N3] UART: add CSR SiRFprimaII SoC on-chip uart drivers
Ein "C" im Bereich "[ ]" kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "D" ausgezeichneten Patches verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer. Änderungen ohne Zahl sind kleiner als 10 KByte.
Nachzügler
Das Gros der Änderungen für eine neue Kernel-Version pflegen die Kernel-Entwickler in dem Merge Window am Anfang des Entwicklungszyklus ein; gelegentlich nehmen die Kernel-Entwickler in der darauf folgenden Stabilisierungsphase aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleinen Perlen" in den Linux-Kernel auf – teilweise, nachdem das Kernel-Log über die entsprechenden Subsysteme des Kernels bereits berichtet hat. Auch diesmal gab es einige solche Nachzügler, die für den einen oder anderen Anwender relevant sein könnten:
- [
] Bluetooth: Add support for BCM20702A0 [0a5c:21e3] - [
] Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 - [
] ipheth: Add iPhone 4S
Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl) (thl)