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
- [
- [
- [
- [
- [
- [
N2
] ALSA: hda - Cache the jack-detection value - [
- [
1
] ALSA: hda - Create jack-detection kcontrols - [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
- [
3
] ALSA: hda/realtek - Drop ALC882 desktop model quirks - [
1
] ALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configs - [
- [
- [
- [
- [
1
] ALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirks - [
- [
- [
- [
- [
- [
1
] ALSA: hda/realtek - Remove ALC882 targa-* models - [
D
] ALSA: hda/realtek - Remove all ALC262-quirk codes - [
- [
- [
2
] ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser - [
- [
- [
- [
D
] ALSA: hda: remove unused quirk for inverted mute led - [
- [
- [
- [
C N
] ALSA: Introduce common helper functions for jack-detection control - [
D 8
] ALSA: module_param: make bool parameters really bool - [
- [
- [
- [
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 - [
- [
- [
C 1
] ASoC: Convert WM2000 into a standard CODEC driver - [
- [
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 - [
- [
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 - [
- [
- [
- [
- [
- [
- [
1
] drm/nouveau: add overscan compensation connector properties - [
2
] drm/nouveau/disp: parse connector info directly in nouveau_connector.c - [
- [
- [
- [
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 - [
- [
1
] drm/nouveau/pm: manual pwm fanspeed management for nv40+ boards - [
N1
] drm/nouveau/vdec: implement stub modules for the known engines - [
- [
- [
- [
- [
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 - [
- [
1
] drm/nvd0/disp: add support for page flipping - [
N4
] drm/radeon: introduce a sub allocator and convert ib pool to it v4 - [
- [
N2
] drm/radeon/kms: add support for semaphores v3 - [
- [
1
] drm/radeon/kms: refine TMDS dual link checks - [
DN1
] fbdev: Add FOURCC-based format configuration API - [
- [
- [
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 - [
- [
- [
N1
] gma500: GEM and GEM glue
I2C, Hwmon, Watchdog
- [
C 1
] hwmon: (f75375s) Add support for F75387SG/RG - [
- [
D
] hwmon: (lm63) Add sensor type attribute for external sensor on LM96163 - [
- [
CD
] hwmon: (lm63) Add support for LM96163 - [
- [
D
] hwmon: (lm63) Add support for update_interval sysfs attribute - [
- [
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 - [
C N1
] watchdog: new driver for VIA chipsets
HID
- [
- [
C
] HID: hid-multitouch: add support 9 new Xiroku devices - [
- [
C
] HID: hyperv: fixup Kconfig / Makefile entries - [
C N1
] HID: Move the hid-hyperv driver out of staging - [
- [
- [
- [
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 - [
- [
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 - [
- [
- [
- [
DN1
] input: samsung-keypad: Add device tree 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 - [
- [
D
] Input: wacom - add LED support for Cintiq 24HD - [
C 1
] Staging: hv: remove hv_mouse driver as it's now in the hid directory
Media
- [
- [
- [
- [
5
] [media] add the support for DiBcom dib8096P - [
7
] [media] af9013: rewrite whole driver - [
C
] [media] anysee: add support for Anysee E7 T2C - [
- [
C N2
] [media] as3645a: Add driver for LED flash controller - [
- [
- [
D
] [media] bttv: adding Sensoray 611 board to driver - [
C
] [media] ce168: remove experimental from Kconfig - [
C
] [media] ce6230: remove experimental from Kconfig - [
- [
- [
1
] [media] cx23885: Hauppauge HVR1850 Analog driver support - [
9
] [media] cx25840: Hauppauge HVR1850 Analog driver support - [
2
] [media] dib7000p/dib0090: update the driver - [
- [
- [
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 - [
- [
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 - [
- [
D
] [media] dvb_get_firmware: updates for it913x - [
- [
- [
- [
- [
D
] [media] em28xx: Fix some Terratec entries (H5 and XS) - [
- [
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 - [
- [
CDN1
] [media] gspca: Add jl2005bcd sub driver - [
D
] [media] gspca - ov534_9: New sensor ov5621 and webcam 05a9:1550 - [
- [
C N3
] [media] HDIC HD29L2 DMB-TH demodulator driver - [
- [
- [
4
] [media] it913x Support it9135 Verions 2 chip - [
- [
- [
C
] [media] mt2063: Add it to the building system - [
- [
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 - [
- [
- [
- [
- [
- [
- [
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 - [
- [
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 - [
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 - [
- [
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 - [
- [
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 - [
- [
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 - [
- [
- [
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 - [
- [
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 - [
USB
- [
- [
1
] USB: add new zte 3g-dongle's pid to option.c - [
D
] USB: Add optional match for interface class to dynamic ID facility - [
- [
C N
] USB: Add Samsung Exynos OHCI diver - [
- [
- [
C N
] usb: dwc3: add xHCI Host support - [
- [
C N1
] USB: EHCI: Add Marvell Host Controller driver - [
C
] USB: ehci-ath79: Add device_id entry for the AR933X SoCs - [
- [
- [
- [
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 - [
- [
- [
C N3
] USB: OTG: add Marvell usb OTG driver support - [
C 6
] usb: otg: kill langwell_otg driver - [
- [
- [
- [
D
] USB: update documentation for usbmon - [
- [
- [
Various
- [
- [
DN
] bq20z75: Devicetree init support - [
C
] bq20z75: Rename to sbs-battery - [
- [
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 - [
- [
DN
] drivers/rtc/rtc-twl.c: add DT support for RTC inside twl4030/twl6030 - [
C
] drivers/tty/serial/pch_uart.c: add console support - [
- [
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 - [
- [
- [
D
] lib: devres: add convenience function to remap a resource - [
- [
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 - [
- [
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 - [
- [
- [
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:
- [
- [
- [
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)