static void show_floppy(int fdc);
/* waits until the fdc becomes ready */
-static int wait_til_ready(void)
+static int wait_til_ready(int fdc)
{
int status;
int counter;
- if (fdc_state[current_fdc].reset)
+ if (fdc_state[fdc].reset)
return -1;
for (counter = 0; counter < 10000; counter++) {
- status = fdc_inb(current_fdc, FD_STATUS);
+ status = fdc_inb(fdc, FD_STATUS);
if (status & STATUS_READY)
return status;
}
if (initialized) {
- DPRINT("Getstatus times out (%x) on fdc %d\n", status, current_fdc);
- show_floppy(current_fdc);
+ DPRINT("Getstatus times out (%x) on fdc %d\n", status, fdc);
+ show_floppy(fdc);
}
- fdc_state[current_fdc].reset = 1;
+ fdc_state[fdc].reset = 1;
return -1;
}
/* sends a command byte to the fdc */
static int output_byte(char byte)
{
- int status = wait_til_ready();
+ int status = wait_til_ready(current_fdc);
if (status < 0)
return -1;
int status = 0;
for (i = 0; i < MAX_REPLIES; i++) {
- status = wait_til_ready();
+ status = wait_til_ready(current_fdc);
if (status < 0)
break;
status &= STATUS_DIR | STATUS_READY | STATUS_BUSY | STATUS_DMA;
/* does the fdc need more output? */
static int need_more_output(void)
{
- int status = wait_til_ready();
+ int status = wait_til_ready(current_fdc);
if (status < 0)
return -1;