Character devices are the catch-all interface between user-space programs and kernel functionality - no matter what sort of weird function (e.g. /dev/poll you want to implement.
The easiest way to add a device is through the misc device interface. ... not done yet...