News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Article series on porting drivers to the 2.6 Linux kernel

Dec 12, 2003 — by LinuxDevices Staff — from the LinuxDevices Archive — views

LWN.net has published an extensive series of articles on porting device drivers to the 2.6 Linux kernel. The LWN.net Driver Porting Series consists of almost 40 highly technical, detailed articles describing how the kernel programming interface has changed between the 2.4 and soon-to-be-released 2.6 kernels.

Jonathan Corbet, Executive Editor of LWN.net and co-author of O'Reilly's Linux Device Drivers book, said, “The development effort leading up to the 2.6 kernel has resulted in a much improved, safer, and more scalable programming interface. These changes are welcome, but they place a significant learning requirement on anybody who must make kernel code work with the new release. By making this extensive documentation freely available, LWN.net hopes to make a small contribution to the continued development of the Linux kernel.”

The series has been almost one year in the making, according to LWN.net, but all of the articles have been rechecked and revised to reflect the interfaces found in the 2.6.0-test11 kernel.

Individual articles in the series cover . . .

  • Porting 'hello world'
    • Compiling external modules
    • More module changes
    • Miscellaneous changes
  • Support interfaces
    • Char drivers and large dev_t
    • The seq_file interface
    • Low-level memory allocation
    • Per-CPU variables
    • Timekeeping changes
    • The workqueue interface
    • Creating virtual filesystems with libfs
    • DMA Changes
  • Sleeping and mutual exclusion
    • Mutual exclusion with seqlocks
    • The preemptible kernel
    • Sleeping and waking up
    • Completion events
    • Using read-copy-update
  • Advanced driver tasks
    • Dealing with interrupts
    • Supporting asynchronous I/O
    • Network drivers
    • USB driver API changes
  • Block drivers
    • Block layer overview
    • A simple block driver
    • The gendisk interface
    • The BIO structure
    • Request queues I
    • Request queues II
  • Memory management
    • Supporting mmap()
    • Zero-copy user-space access
    • Atomic kmaps
  • Device model
    • A device model overview
    • The zen of kobjects
    • kobjects and sysfs
    • kobjects and hotplug events
    • Examining a kobject hierarchy
    • Device classes

The LWN.net Driver Porting series may be found here.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.