The concept of supporting user-space drivers has appeared on this page afew times before. It's back; this time there is a version of the patch(now called “UIO”) which is being proposed for inclusion into 2.6.22. Theinterface has changed somewhat, so another look is called for.
Like the previous version, UIO does not completely eliminate the need forkernel-space code. A small module is required to set up the device,perhaps interface to the PCI bus, and register an interrupt handler. Thelast function (interrupt handling) is particularly important; much can bedone in user space, but there needs to be an in-kernel interrupt handlerwhich knows how to tell the device to stop crying for attention.
See the rest of the article on LWN.net by clicking here.