Borislav Petkov | d3f2084 | 2008-02-01 23:09:33 +0100 | [diff] [blame] | 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 | */ |