Date: Tue, 11 Dec 2001 20:04:20 -0500 (EST) From: Kenneth Wayne Culver <culverk@wam.umd.edu> To: "Andrew R. Reiter" <arr@FreeBSD.ORG> Cc: Poul-Henning Kamp <phk@FreeBSD.ORG>, hackers@FreeBSD.ORG Subject: Re: Junior Kernel hacker task: Floppy driver mode handling. Message-ID: <Pine.GSO.4.21.0112112003370.28304-100000@rac4.wam.umd.edu> In-Reply-To: <Pine.NEB.3.96L.1011211124044.27768B-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
I was thinking about looking into it, but I won't have time to start until the 18th. if you wanna do it, go for it, and I'll wait my turn for the next thing I can do in the kernel. :-D Ken On Tue, 11 Dec 2001, Andrew R. Reiter wrote: > > Someone already doing this? If not, I'm down. > > On Tue, 11 Dec 2001, Poul-Henning Kamp wrote: > > : > :There exists a patch for adding a mode to our floppy driver to > :add DEC RX50 media handling. > : > :The crucial part of this is the addition of this line: > : { 10,2,0xFF,0x10,80, 800,1,FDC_300KBPS,1,0x2E,1 }, /* 400K DEC RX50 */ > : > :But if one examines the fd.c driver, one cannot help but notice that the > :handling of densities is a bit convoluted, to put it mildly. > : > :I'm looking for a volounteer to do this, it is a quite simple job and > :I am quite sure that practically everybody has the hardware they need to > :do this :-) > : > :Cleaning it up consists of the following steps: > : > :1. Define a new set of (bitmap) macros to distinguish the drive type: > : #define FD_3S 0x0001 /* 3.5" single density */ > : #define FD_5S 0x0002 /* 5.25" single density */ > : ... > : And use these instead of the FD_1200 and similar in > : struct fd_data->type. > : > :2. Augment the struct fd_type with two new fields: > : int minor; /* minor device encoding */ > : int drives; /* bitmap of compatible drives (FD_[35][SD]) */ > : And fill these fields out in the fd_types[NUMTYPES] array. > : Add a termination entry at the end of the table so the > : NUMTYPES, NUMDENS, and FD_%d[5_25] #defines can be eliminated. > : > :3. Change the _clone code to use the new "minor" field instead of > : the private table it uses now. (Eliminate and avoid any > : use of NUMTYPES, NUMDENS and FD_%d[5_25]). > : > :4. Change the code in Fdopen to examine the "drives" field in the > : fd_types[] array instead of the hardcoded switch. (Eliminate > : and avoid any use of NUMTYPES, NUMDENS and and FD_%d[5_25]); > : > :5. Remove any other use of NUMTYPES, NUMDENS and FD_%d[5_25] > : > :6. Add the "rx50" entry from above to the table to show how simple > : that is now. > : > :7. Make it possible to define a new mode from userland with an ioctl. > : (hint: instead of the index, put a pointer to the struct fd_type into > : the fd_data structure.) > : > :Preferably, send one patch per step rather than one huge patch since that > :will make reviewing easier. > : > :First volounteer to send me email gets the assignment. > : > :-- > :Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > :phk@FreeBSD.ORG | TCP/IP since RFC 956 > :FreeBSD committer | BSD since 4.3-tahoe > :Never attribute to malice what can adequately be explained by incompetence. > : > :To Unsubscribe: send mail to majordomo@FreeBSD.org > :with "unsubscribe freebsd-hackers" in the body of the message > : > > -- > Andrew R. Reiter > arr@watson.org > arr@FreeBSD.org > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.21.0112112003370.28304-100000>