LWN.net Logo

2.6.27 merge window, part 2

By Jonathan Corbet
July 23, 2008
As of this writing, just over 6200 changesets have been merged into the mainline git repository since the 2.6.26 release. Merge activity appears to be slowing down somewhat; it appears that most of the major trees have been pulled. Andrew Morton has not yet started to unload the -mm tree into the mainline, though; until that happens, the merge window can be expected to remain open.

User-visible changes merged since last week's summary include:

  • There are new drivers for Samsung S3C SD/MMC interfaces, Atmel Multimedia card interfaces, Ricoh Bay1Controller cards, S/390 QDIO controllers, Renesas SuperH SH7710 and SH7712 Ethernet controllers, Option HSDPA/HSUPA mobile network devices, Broadcom BCM57711 Ethernet adapters, Mikrotik RouterBoard 532 series boards, Anysee DVB-T/C USB2.0 receivers, Sensoray 2255 video capture devices, Siano SMS10xx digital television devices, SuperH Mobile CEU camera controllers, Niagara2 hardware random number generators, HTC Shift (X9500) touchscreens, iNexio serial touchscreens, Sahara TouchIT-213 touchscreens, Xilinx XPS PS/2 controllers, Maxim MAX7301 GPIO expanders, HP iLO/iLO2 management processors, Atheros L1E Gigabit Ethernet adapters, Marvell XOR DMA engines, Synopsys DesignWare DMA controllers, and Intel version 3.0 I/OAT DMA engines. There is also a new PCI "slot detection driver" which will attempt to find all PCI slots in the system and create corresponding entries in /sys/bus/pci/slots/.

  • Worthy of note: the "gspca" set of video drivers, long maintained outside of the mainline kernel tree, has been merged. These drivers support a large number of video devices; with their merge, most video camera devices on the market are supported by Linux.

  • The Fujitsu laptop driver has been updated with better hotkey and backlight support for more Fujitsu models.

  • The UBIFS filesystem for flash-based storage devices has been merged.

  • The multiqueue networking patches have been merged.

  • The IA-64 architecture has gained a paravirt_ops implementation to support virtualization.

  • The new directories found at /sys/dev/char and /sys/dev/block contain pointers to sysfs entries for devices organized by device number.

Changes visible to kernel developers include:

  • The new suspend and hibernate infrastructure has been merged, providing a wider set of callbacks for power management events. The PCI and platform bus interfaces have been enhanced with support for this new infrastructure.

  • The TTY layer continues to evolve; significant changes include the introduction of a new tty_port structure meant to hold information common to all TTY ports and a rework of the line discipline code.

  • The mac80211 code has a new module which can simulate any number of IEEE 802.11 radios; it is suitable for testing mac80211 functionality and associated user-space tools.

  • There is a new "rfkill" mechanism for unified handling of "radio off" switches on wireless devices.

  • A number of Video4Linux2 format-related callbacks have been renamed to make them match the names used with the associated buffer types. In addition, the vidioc_enum_fmt_vbi_cap() callback has been deprecated and marked for removal in 2.6.28.

  • The videobuf layer now has support for controllers which cannot do scatter/gather I/O.

  • The USB "gadget" framework has been massively reworked to provide better support for composite devices.

  • The prototype for device_create() has changed:

        struct device *device_create(struct class *class, 
                                     struct device *parent,
    			         dev_t devt, 
    				 void *drvdata, 
    				 const char *fmt, ...);
    

    Those who see a resemblance to device_create_drvdata() are right; all in-tree users were converted over to that interface, the old device_create() was removed, and device_create_drvdata() was renamed. For now, a macro makes calls to device_create_drvdata() do the right thing, but that macro will probably go away before the 2.6.27 final release.

  • User-space UIO drivers can now write a signed value to the /dev/uioX device to enable and disable interrupts.

  • Debugfs (finally) has a function for removing an entire directory tree:

        void debugfs_remove_recursive(struct dentry *dentry);
    

    As a result, code creating hierarchies in debugfs no longer need remember the dentry of every file they create.

The tail end of the 2.6.27 merge window will be covered in next week's LWN Kernel Page.


(Log in to post comments)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds