I wrote about the same thing to FUSE maintainer, below is the reply.
Since I don't have enough time, I dropped the idea.
But it's still a cool project to do :)
Regards,
Dmitry.
-----------------------
From: Miklos Szeredi <miklos(a)szeredi.hu>
Oss2jack project -
http://fort.xdas.com/~kor/oss2jack/ - uses FUSD - Framework for
User-Space Drivers, which is unmaintained and doesn't seem to go in
the kernel anytime soon.
So, FUSE is in the kernel already and implements more generic
functionality than FUSD. I think it is natural to extend FUSE a bit to
implement user-space devices.
The only things it lacks are:
1) ioctl support - seems not hard to add
It's not easy. The basic problem is that ioctl arguments are not well
defined size and structure, and decoding/encoding them does not belong
in FUSE.
It would theoretically be possible to do the decoding/encoding in the
userspace filesystem, but I don't yet see how that can be done nicely.
2) mmap support, i.e. ability to share a buffer with
user app - can't
estimate the difficulty.
I can't either. It involves VM trickery, which is not an easy
subject.
I'm willing to help adding this functionality or
add it myself and
will appreciate a guidance.
I'd rather not get involved in the coding part, at least until I see
where this is heading. But I'm happy to answer any questions.