Yes APIs are documented in kernel Documentation. Please have a look at scsi-generic.txt, scsi_mid_low_api.txt and scsi_eh.txt. With scsi generic api and low level api you can write your driver. Plus you can have a look at scsi_debug.c in the source to understand scsi module programming.
Also go through SCSI drafts and SAM 3 architecture.
-- --------------------------------------------------------------- regards Manish Regmi
--------------------------------------------------------------- UNIX without a C Compiler is like eating Spaghetti with your mouth sewn shut. It just doesn't make sense.
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/