Lines Matching refs:floppy
3 * linux/drivers/block/floppy.c
29 * call "floppy-on" directly, but have to set a special timer interrupt
39 * Automatic floppy-detection and formatting written by Werner Almesberger
41 * the floppy-change signal detection.
61 * floppy as the first thing after bootup.
66 * this helped the floppy driver as well. Much cleaner, and still seems to
70 /* 1994/6/24 --bbroad-- added the floppy table entries and made
83 /* 1994/9/17 -- Koen Holtman -- added logging of physical floppy write
99 * features to asm/floppy.h.
108 * interrupt and dma channel to asm/floppy.h. Cleaned up some formatting &
122 * 1999/08/13 -- Paul Slootman -- floppy stopped working on Alpha after 24
135 * floppy controller (lingering task on list after module is gone... boom.)
155 pr_info("floppy%d: " format, current_drive, ##args)
226 * It is not safe to reset it in other circumstances, because the floppy
240 * 3 of both floppy controllers are disabled, because switching on the
245 * NOTE: This must come before we include the arch floppy header because
251 #include <asm/floppy.h>
308 #define PH_HEAD(floppy, head) (((((floppy)->stretch & 2) >> 1) ^ head) << 2)
309 #define STRETCH(floppy) ((floppy)->stretch & FD_STRETCH)
354 * this struct defines the different floppy drive types.
412 * This struct defines the different floppy types.
480 #define SECTSIZE (_FD_SECTSIZE(*floppy))
493 static char floppy_device_name[] = "floppy";
645 /* this routine checks whether the floppy driver is "alive" */
701 * Bottom half floppy driver.
715 * 1. The floppy has been changed after some i/o to that floppy already
717 * 2. No floppy disk is in the drive. This is done in order to ensure that
730 * The floppy has been changed after the last seek.
956 * cycle through all N_DRIVE floppy drives, for disk change testing.
1261 * head load time, and DMA disable flag to values needed by floppy.
1479 * for the transfer (i.e. floppy motor is on, the correct floppy is
1506 /* wait until the floppy is spinning fast enough */
1539 * from the floppy controller.
1729 pr_info("floppy interrupt on bizarre fdc %d\n", current_fdc);
1740 * It is OK to emit floppy commands because we are in an interrupt
1831 pr_info("floppy driver state\n");
1885 DPRINT("floppy timeout called\n");
1917 /* starts motor and selects floppy */
1966 reschedule_timeout(current_drive, "floppy start");
2286 pr_info("floppy.c: no request in request_done\n");
2323 /* some Toshiba floppy controllers occasionnally seem to
2392 DPRINT("Auto-detected floppy type %s in fd%d\n",
2558 * tmp floppy area), how much data to load (the size of the buffer, the whole
3054 struct floppy_struct *floppy;
3057 floppy = floppy_type + type;
3060 floppy = floppy_type + drive_params[drive].native_format;
3064 if (floppy->name)
3065 return floppy->name;
3503 /* convert compatibility eject ioctls into floppy eject ioctl.
3504 * We do this in order to provide a means to eject floppy disks before
3507 cmd == 0x6470) { /* SunOS floppy eject */
3961 case 0x6470: /* SunOS floppy eject */
4219 pr_info("floppy: error %d while reading block 0\n",
4263 /* revalidate the floppy disk, i.e. trigger format autodetection by reading
4328 /* Determine the floppy disk controller type */
4438 DPRINT("Assuming %s floppy hardware\n", param ? "standard" : "broken");
4526 DPRINT("unknown floppy option [%s]\n", str);
4533 DPRINT("botched floppy option\n");
4534 DPRINT("Read Documentation/admin-guide/blockdev/floppy.rst\n");
4583 .name = "floppy",
4628 floppy_wq = alloc_ordered_workqueue("floppy", 0);
4676 reschedule_timeout(MAXTIMEOUT, "floppy init");
4743 /* Try to determine the floppy controller type */
4767 DPRINT("no floppy controllers found\n");
4836 /* Don't hold up the bootup by the floppy initialization */
4870 p->size, "floppy")) {
4899 DPRINT("Unable to grab IRQ%d for the floppy driver\n",
4905 DPRINT("Unable to grab DMA%d for the floppy driver\n",
4989 pr_info("floppy timer still active:%s\n", timeout_message);
4991 pr_info("auxiliary floppy timer still active\n");
5001 static char *floppy;
5022 if (floppy)
5023 parse_floppy_cfg_string(floppy);
5071 module_param(floppy, charp, 0);
5088 __setup("floppy=", floppy_setup);