Date: 8 Nov 96 10:16:51 EST From: Larry S Lile <lslile@lexmark.com> To: "hackers%FreeBSD.ORG" <hackers@FreeBSD.ORG> Subject: Pinnacle RCD Driver Message-ID: <199611081517.AA29714@interlock.lexmark.com>
next in thread | raw e-mail | index | archive | help
I am currently working on a driver for the Pinnacle RCD 5040i. My original plan was to attempt to integrate support for this device under Joerg's worm driver but it differs to much from the HP/Phillips drives to do this (or at least for me to be able to) I have a pretty good start on the driver and so far Pinnacle is helping me some of there less clearly documented scsi commands. What I am having trouble with and I know that these are probably simple questions, but bear with me as I have never had to deal with Un*x drivers from this side of the street before, are the minor numbers, (cb)devsw, and the partition information. I am also trying to write the driver in such a way that I can interface directly back to Julian's cd driver to give the device full functionality as both an RCD and CD. As to minor numbers, I have seen mention of things like "5 bit unit" in the cd driver, according to documentation Pinnacle sent to me the RCD is an 8 bit device, but supports all cd commands that the cd driver has implemented. So do I set up the minor number in the same way Julian set up the minor number for a cd or should I use the method that Joerg used for the worm driver as the RCD is a worm device? Or have they taken two different implementation methods because cd supports both block and character but worm only currently supports character. Second, I have seen what appear to be 2 disperate cdevsw structure definitions, could some one clarify what exactly the definition of this should be for me. I have compared the implementation of sd, cd, and worm but now I am totally confused Last, I really don't get the partition stuff in the cd driver whatsoever, or worse the device filesystem (DEVFS) stuff. I am fairly sure that I can write the driver functions to operate the drive, its just the interface to the kernel and low-level scsi driver that I don't understand. I have just never had to deal with them before and I don't have much documentation on what is required to do so. Larry Lile lslile@lexmark.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611081517.AA29714>