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
> :[EMAIL PROTECTED] | 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 [EMAIL PROTECTED]
> :with "unsubscribe freebsd-hackers" in the body of the message
> :
>
> --
> Andrew R. Reiter
> [EMAIL PROTECTED]
> [EMAIL PROTECTED]
>
>
> To Unsubscribe: send mail to [EMAIL PROTECTED]
> with "unsubscribe freebsd-hackers" in the body of the message
>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message