непосредственно работа с железом уже написана, нужно грамотно портировать под линукс так, чтобы с драйвером (а точнее с библиотекой) могли работать много программ одновременно.
например, как я понимаю, разговор ядро-userspace ведется через символьное устройство...
