It's always an interesting day when you get to write a kernel patch, at the urging of Andrew Morton, that notifies the world that non-GPL Linux kernel modules will not work after January 2008 and write some poetry all in the same message.

Ok, Andrew didn't ask for the poetry, but it is an interesting way to protect a copyright license in such a way that all courts today will easily understand it. Just have the kernel build put the copyrighted poetry into a section of all kernel modules, and then if someone tries to lie about the license of the built module, they can easily be caught. Even lawyers understand poetry...

posted Wed, 13 Dec 2006 in [/diary]

A large number of people have expressed interest recently in the userspace i/o driver core which allows userspace drivers to be written to handle some types of hardware.

Right now the UIO core is working and in the [-mm kernel releases][mm]. It's been rewritten from the last time patches were posted to lkml and is much simpler. It also includes full documentation and two example drivers and two example userspace programs that test those drivers.

This core allows for a very tiny kernel driver to be written to handle the interrupt generated by the hardware. Everything else can be done in userspace (direct memory access, interrupt processing, controller logic, etc.) In some instances, this framework has shown a noticable improvement over an all-in-kernel driver.

But in order to get this core into the kernel tree, we need to have some "real" drivers written that use it. So, for anyone that wants to see this go into the tree, now is the time to step forward and post your patches for hardware that this kind of driver interface is needed.

If no such drivers appear, then there is a very slim chance that this interface will be accepted into the tree.

The patches can be found in the -mm releases or at: - UIO core - UIO documentation - two example kernel modules and userspace programs showing how to use the UIO interface.

posted Wed, 13 Dec 2006 in [/linux]


My Linux Stuff