1/* 2 * Many thanks to Lode Leroy <Lode.Leroy@www.ibase.be>, who tested so many 3 * ALPHA patches to this driver on an EASYSTOR LS-120 ATAPI floppy drive. 4 * 5 * Ver 0.1 Oct 17 96 Initial test version, mostly based on ide-tape.c. 6 * Ver 0.2 Oct 31 96 Minor changes. 7 * Ver 0.3 Dec 2 96 Fixed error recovery bug. 8 * Ver 0.4 Jan 26 97 Add support for the HDIO_GETGEO ioctl. 9 * Ver 0.5 Feb 21 97 Add partitions support. 10 * Use the minimum of the LBA and CHS capacities. 11 * Avoid hwgroup->rq == NULL on the last irq. 12 * Fix potential null dereferencing with DEBUG_LOG. 13 * Ver 0.8 Dec 7 97 Increase irq timeout from 10 to 50 seconds. 14 * Add media write-protect detection. 15 * Issue START command only if TEST UNIT READY fails. 16 * Add work-around for IOMEGA ZIP revision 21.D. 17 * Remove idefloppy_get_capabilities(). 18 * Ver 0.9 Jul 4 99 Fix a bug which might have caused the number of 19 * bytes requested on each interrupt to be zero. 20 * Thanks to <shanos@es.co.nz> for pointing this out. 21 * Ver 0.9.sv Jan 6 01 Sam Varshavchik <mrsam@courier-mta.com> 22 * Implement low level formatting. Reimplemented 23 * IDEFLOPPY_CAPABILITIES_PAGE, since we need the srfp 24 * bit. My LS-120 drive barfs on 25 * IDEFLOPPY_CAPABILITIES_PAGE, but maybe it's just me. 26 * Compromise by not reporting a failure to get this 27 * mode page. Implemented four IOCTLs in order to 28 * implement formatting. IOCTls begin with 0x4600, 29 * 0x46 is 'F' as in Format. 30 * Jan 9 01 Userland option to select format verify. 31 * Added PC_SUPPRESS_ERROR flag - some idefloppy drives 32 * do not implement IDEFLOPPY_CAPABILITIES_PAGE, and 33 * return a sense error. Suppress error reporting in 34 * this particular case in order to avoid spurious 35 * errors in syslog. The culprit is 36 * idefloppy_get_capability_page(), so move it to 37 * idefloppy_begin_format() so that it's not used 38 * unless absolutely necessary. 39 * If drive does not support format progress indication 40 * monitor the dsc bit in the status register. 41 * Also, O_NDELAY on open will allow the device to be 42 * opened without a disk available. This can be used to 43 * open an unformatted disk, or get the device capacity. 44 * Ver 0.91 Dec 11 99 Added IOMEGA Clik! drive support by 45 * <paul@paulbristow.net> 46 * Ver 0.92 Oct 22 00 Paul Bristow became official maintainer for this 47 * driver. Included Powerbook internal zip kludge. 48 * Ver 0.93 Oct 24 00 Fixed bugs for Clik! drive 49 * no disk on insert and disk change now works 50 * Ver 0.94 Oct 27 00 Tidied up to remove strstr(Clik) everywhere 51 * Ver 0.95 Nov 7 00 Brought across to kernel 2.4 52 * Ver 0.96 Jan 7 01 Actually in line with release version of 2.4.0 53 * including set_bit patch from Rusty Russell 54 * Ver 0.97 Jul 22 01 Merge 0.91-0.96 onto 0.9.sv for ac series 55 * Ver 0.97.sv Aug 3 01 Backported from 2.4.7-ac3 56 * Ver 0.98 Oct 26 01 Split idefloppy_transfer_pc into two pieces to 57 * fix a lost interrupt problem. It appears the busy 58 * bit was being deasserted by my IOMEGA ATAPI ZIP 100 59 * drive before the drive was actually ready. 60 * Ver 0.98a Oct 29 01 Expose delay value so we can play. 61 * Ver 0.99 Feb 24 02 Remove duplicate code, modify clik! detection code 62 * to support new PocketZip drives 63 */ 64