При написании драйвера важно понимать одны ключевую идею.
В ядре есть драйверы и есть устройства. Работать будет только когда ядро найдет устройству правильный драйвер.
Для использования драйвера конечно надо правильно определить устройство в дереве устройств, чтобы ядро правильно нашло драйвер. Но написание драйвера это совсем другая тема.
Рекомендованая книга конечно содержит много информации, но читать ее непросто.
Я бы посоветовал начать с этого руководства:
http://www.tldp.org/LDP/lkmpg/2.6/lkmpg.pdf