How to write a Linux USB device driver.
That article should be a good place to start. It appears to walk you through the entire process.
Since you have some programming experience, you are ahead of the game already. I'm not a kernel module programmer either, but if I were looking for what you're asking for, I'd do what I just did and use Google, with a query of "writing Linux kernel driver".
Also, don't quote me but there may be a downloadable version of "Linux Kernel in a Nutshell" or at least a similar publication, I believe another one is "Linux Kernel Module Programming" - if you can find either of these, you would do well to grab them. But, that article really is thorough, so have a look at that, and if you get a more specific question(s), by all means ask away!
EDIT: P.S. I neglected to mention, a great place also to have a look, is in the source code of an existing kernel driver module, for a similar USB device, if there is a similar one already in the kernel. Perhaps one can be modified to work with your device or at least provide a template from which to work on your own.