ide: delete filenames/versions from comments
[pandora-kernel.git] / drivers / ide / ide-floppy.c
index 95e3027..b6454f0 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * linux/drivers/ide/ide-floppy.c      Version 0.99    Feb 24 2002
- *
  * Copyright (C) 1996 - 1999 Gadi Oxman <gadio@netvision.net.il>
  * Copyright (C) 2000 - 2002 Paul Bristow <paul@paulbristow.net>
  */
@@ -787,12 +785,12 @@ static void idefloppy_retry_pc (ide_drive_t *drive)
 static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
 {
        idefloppy_floppy_t *floppy = drive->driver_data;
-       atapi_bcount_t bcount;
-       atapi_ireason_t ireason;
+       ide_hwif_t *hwif = drive->hwif;
        idefloppy_pc_t *pc = floppy->pc;
        struct request *rq = pc->rq;
        unsigned int temp;
-       u8 stat;
+       u16 bcount;
+       u8 stat, ireason;
 
        debug_log(KERN_INFO "ide-floppy: Reached %s interrupt handler\n",
                __FUNCTION__);
@@ -848,32 +846,32 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
        }
 
        /* Get the number of bytes to transfer */
-       bcount.b.high = HWIF(drive)->INB(IDE_BCOUNTH_REG);
-       bcount.b.low = HWIF(drive)->INB(IDE_BCOUNTL_REG);
+       bcount = (hwif->INB(IDE_BCOUNTH_REG) << 8) |
+                 hwif->INB(IDE_BCOUNTL_REG);
        /* on this interrupt */
-       ireason.all = HWIF(drive)->INB(IDE_IREASON_REG);
+       ireason = hwif->INB(IDE_IREASON_REG);
 
-       if (ireason.b.cod) {
+       if (ireason & CD) {
                printk(KERN_ERR "ide-floppy: CoD != 0 in idefloppy_pc_intr\n");
                return ide_do_reset(drive);
        }
-       if (ireason.b.io == test_bit(PC_WRITING, &pc->flags)) {
+       if (((ireason & IO) == IO) == test_bit(PC_WRITING, &pc->flags)) {
                /* Hopefully, we will never get here */
                printk(KERN_ERR "ide-floppy: We wanted to %s, ",
-                       ireason.b.io ? "Write":"Read");
+                               (ireason & IO) ? "Write" : "Read");
                printk(KERN_ERR "but the floppy wants us to %s !\n",
-                       ireason.b.io ? "Read":"Write");
+                               (ireason & IO) ? "Read" : "Write");
                return ide_do_reset(drive);
        }
        if (!test_bit(PC_WRITING, &pc->flags)) {
                /* Reading - Check that we have enough space */
-               temp = pc->actually_transferred + bcount.all;
+               temp = pc->actually_transferred + bcount;
                if (temp > pc->request_transfer) {
                        if (temp > pc->buffer_size) {
                                printk(KERN_ERR "ide-floppy: The floppy wants "
                                        "to send us more data than expected "
                                        "- discarding data\n");
-                               idefloppy_discard_data(drive,bcount.all);
+                               idefloppy_discard_data(drive, bcount);
                                BUG_ON(HWGROUP(drive)->handler != NULL);
                                ide_set_handler(drive,
                                                &idefloppy_pc_intr,
@@ -889,23 +887,21 @@ static ide_startstop_t idefloppy_pc_intr (ide_drive_t *drive)
        if (test_bit(PC_WRITING, &pc->flags)) {
                if (pc->buffer != NULL)
                        /* Write the current buffer */
-                       HWIF(drive)->atapi_output_bytes(drive,
-                                               pc->current_position,
-                                               bcount.all);
+                       hwif->atapi_output_bytes(drive, pc->current_position,
+                                                bcount);
                else
-                       idefloppy_output_buffers(drive, pc, bcount.all);
+                       idefloppy_output_buffers(drive, pc, bcount);
        } else {
                if (pc->buffer != NULL)
                        /* Read the current buffer */
-                       HWIF(drive)->atapi_input_bytes(drive,
-                                               pc->current_position,
-                                               bcount.all);
+                       hwif->atapi_input_bytes(drive, pc->current_position,
+                                               bcount);
                else
-                       idefloppy_input_buffers(drive, pc, bcount.all);
+                       idefloppy_input_buffers(drive, pc, bcount);
        }
        /* Update the current position */
-       pc->actually_transferred += bcount.all;
-       pc->current_position += bcount.all;
+       pc->actually_transferred += bcount;
+       pc->current_position += bcount;
 
        BUG_ON(HWGROUP(drive)->handler != NULL);
        ide_set_handler(drive, &idefloppy_pc_intr, IDEFLOPPY_WAIT_CMD, NULL);           /* And set the interrupt handler again */
@@ -921,15 +917,15 @@ static ide_startstop_t idefloppy_transfer_pc (ide_drive_t *drive)
 {
        ide_startstop_t startstop;
        idefloppy_floppy_t *floppy = drive->driver_data;
-       atapi_ireason_t ireason;
+       u8 ireason;
 
        if (ide_wait_stat(&startstop, drive, DRQ_STAT, BUSY_STAT, WAIT_READY)) {
                printk(KERN_ERR "ide-floppy: Strange, packet command "
                                "initiated yet DRQ isn't asserted\n");
                return startstop;
        }
-       ireason.all = HWIF(drive)->INB(IDE_IREASON_REG);
-       if (!ireason.b.cod || ireason.b.io) {
+       ireason = drive->hwif->INB(IDE_IREASON_REG);
+       if ((ireason & CD) == 0 || (ireason & IO)) {
                printk(KERN_ERR "ide-floppy: (IO,CoD) != (0,1) while "
                                "issuing a packet command\n");
                return ide_do_reset(drive);
@@ -969,15 +965,15 @@ static ide_startstop_t idefloppy_transfer_pc1 (ide_drive_t *drive)
 {
        idefloppy_floppy_t *floppy = drive->driver_data;
        ide_startstop_t startstop;
-       atapi_ireason_t ireason;
+       u8 ireason;
 
        if (ide_wait_stat(&startstop, drive, DRQ_STAT, BUSY_STAT, WAIT_READY)) {
                printk(KERN_ERR "ide-floppy: Strange, packet command "
                                "initiated yet DRQ isn't asserted\n");
                return startstop;
        }
-       ireason.all = HWIF(drive)->INB(IDE_IREASON_REG);
-       if (!ireason.b.cod || ireason.b.io) {
+       ireason = drive->hwif->INB(IDE_IREASON_REG);
+       if ((ireason & CD) == 0 || (ireason & IO)) {
                printk(KERN_ERR "ide-floppy: (IO,CoD) != (0,1) "
                                "while issuing a packet command\n");
                return ide_do_reset(drive);
@@ -1019,8 +1015,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p
 {
        idefloppy_floppy_t *floppy = drive->driver_data;
        ide_hwif_t *hwif = drive->hwif;
-       atapi_bcount_t bcount;
        ide_handler_t *pkt_xfer_routine;
+       u16 bcount;
        u8 dma;
 
        if (floppy->failed_pc == NULL &&
@@ -1059,7 +1055,7 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p
        /* We haven't transferred any data yet */
        pc->actually_transferred = 0;
        pc->current_position = pc->buffer;
-       bcount.all = min(pc->request_transfer, 63 * 1024);
+       bcount = min(pc->request_transfer, 63 * 1024);
 
        if (test_and_clear_bit(PC_DMA_ERROR, &pc->flags))
                ide_dma_off(drive);
@@ -1069,13 +1065,8 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p
        if (test_bit(PC_DMA_RECOMMENDED, &pc->flags) && drive->using_dma)
                dma = !hwif->dma_setup(drive);
 
-       if (IDE_CONTROL_REG)
-               HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
-       /* Use PIO/DMA */
-       hwif->OUTB(dma, IDE_FEATURE_REG);
-       HWIF(drive)->OUTB(bcount.b.high, IDE_BCOUNTH_REG);
-       HWIF(drive)->OUTB(bcount.b.low, IDE_BCOUNTL_REG);
-       HWIF(drive)->OUTB(drive->select.all, IDE_SELECT_REG);
+       ide_pktcmd_tf_load(drive, IDE_TFLAG_NO_SELECT_MASK |
+                          IDE_TFLAG_OUT_DEVICE, bcount, dma);
 
        if (dma) {      /* Begin DMA, if necessary */
                set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
@@ -1665,7 +1656,6 @@ static int idefloppy_identify_device (ide_drive_t *drive,struct hd_driveid *id)
 {
        struct idefloppy_id_gcw gcw;
 #if IDEFLOPPY_DEBUG_INFO
-       u16 mask,i;
        char buffer[80];
 #endif /* IDEFLOPPY_DEBUG_INFO */
 
@@ -1712,55 +1702,6 @@ static int idefloppy_identify_device (ide_drive_t *drive,struct hd_driveid *id)
                default: sprintf(buffer, "Reserved");break;
        }
        printk(KERN_INFO "Command Packet Size: %s\n", buffer);
-       printk(KERN_INFO "Model: %.40s\n",id->model);
-       printk(KERN_INFO "Firmware Revision: %.8s\n",id->fw_rev);
-       printk(KERN_INFO "Serial Number: %.20s\n",id->serial_no);
-       printk(KERN_INFO "Write buffer size(?): %d bytes\n",id->buf_size*512);
-       printk(KERN_INFO "DMA: %s",id->capability & 0x01 ? "Yes\n":"No\n");
-       printk(KERN_INFO "LBA: %s",id->capability & 0x02 ? "Yes\n":"No\n");
-       printk(KERN_INFO "IORDY can be disabled: %s",id->capability & 0x04 ? "Yes\n":"No\n");
-       printk(KERN_INFO "IORDY supported: %s",id->capability & 0x08 ? "Yes\n":"Unknown\n");
-       printk(KERN_INFO "ATAPI overlap supported: %s",id->capability & 0x20 ? "Yes\n":"No\n");
-       printk(KERN_INFO "PIO Cycle Timing Category: %d\n",id->tPIO);
-       printk(KERN_INFO "DMA Cycle Timing Category: %d\n",id->tDMA);
-       printk(KERN_INFO "Single Word DMA supported modes:\n");
-       for (i=0,mask=1;i<8;i++,mask=mask << 1) {
-               if (id->dma_1word & mask)
-                       printk(KERN_INFO "   Mode %d%s\n", i,
-                       (id->dma_1word & (mask << 8)) ? " (active)" : "");
-       }
-       printk(KERN_INFO "Multi Word DMA supported modes:\n");
-       for (i=0,mask=1;i<8;i++,mask=mask << 1) {
-               if (id->dma_mword & mask)
-                       printk(KERN_INFO "   Mode %d%s\n", i,
-                       (id->dma_mword & (mask << 8)) ? " (active)" : "");
-       }
-       if (id->field_valid & 0x0002) {
-               printk(KERN_INFO "Enhanced PIO Modes: %s\n",
-                       id->eide_pio_modes & 1 ? "Mode 3":"None");
-               if (id->eide_dma_min == 0)
-                       sprintf(buffer, "Not supported");
-               else
-                       sprintf(buffer, "%d ns",id->eide_dma_min);
-               printk(KERN_INFO "Minimum Multi-word DMA cycle per word: %s\n", buffer);
-               if (id->eide_dma_time == 0)
-                       sprintf(buffer, "Not supported");
-               else
-                       sprintf(buffer, "%d ns",id->eide_dma_time);
-               printk(KERN_INFO "Manufacturer\'s Recommended Multi-word cycle: %s\n", buffer);
-               if (id->eide_pio == 0)
-                       sprintf(buffer, "Not supported");
-               else
-                       sprintf(buffer, "%d ns",id->eide_pio);
-               printk(KERN_INFO "Minimum PIO cycle without IORDY: %s\n",
-                       buffer);
-               if (id->eide_pio_iordy == 0)
-                       sprintf(buffer, "Not supported");
-               else
-                       sprintf(buffer, "%d ns",id->eide_pio_iordy);
-               printk(KERN_INFO "Minimum PIO cycle with IORDY: %s\n", buffer);
-       } else
-               printk(KERN_INFO "According to the device, fields 64-70 are not valid.\n");
 #endif /* IDEFLOPPY_DEBUG_INFO */
 
        if (gcw.protocol != 2)