Remove atapi_feature_t.
While at it:
* replace 'HWIF(drive)' by 'hwif'
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
 {
        idefloppy_floppy_t *floppy = drive->driver_data;
        ide_hwif_t *hwif = drive->hwif;
-       atapi_feature_t feature;
        atapi_bcount_t bcount;
        ide_handler_t *pkt_xfer_routine;
+       u8 dma;
 
        if (floppy->failed_pc == NULL &&
            pc->c[0] != IDEFLOPPY_REQUEST_SENSE_CMD)
        if (test_and_clear_bit(PC_DMA_ERROR, &pc->flags))
                ide_dma_off(drive);
 
-       feature.all = 0;
+       dma = 0;
 
        if (test_bit(PC_DMA_RECOMMENDED, &pc->flags) && drive->using_dma)
-               feature.b.dma = !hwif->dma_setup(drive);
+               dma = !hwif->dma_setup(drive);
 
        if (IDE_CONTROL_REG)
                HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
        /* Use PIO/DMA */
-       HWIF(drive)->OUTB(feature.all, IDE_FEATURE_REG);
+       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);
 
-       if (feature.b.dma) {    /* Begin DMA, if necessary */
+       if (dma) {      /* Begin DMA, if necessary */
                set_bit(PC_DMA_IN_PROGRESS, &pc->flags);
                hwif->dma_start(drive);
        }
 
        struct request *rq = pc->rq;
        atapi_bcount_t bcount;
        atapi_ireason_t ireason;
-       atapi_feature_t feature;
        unsigned int temp;
        u8 stat;
 
                (void) HWIF(drive)->ide_dma_end(drive);
        }
 
-       feature.all = 0;
        /* Clear the interrupt */
        stat = drive->hwif->INB(IDE_STATUS_REG);
 
 {
        idescsi_scsi_t *scsi = drive_to_idescsi(drive);
        ide_hwif_t *hwif = drive->hwif;
-       atapi_feature_t feature;
        atapi_bcount_t bcount;
+       u8 dma = 0;
 
        scsi->pc=pc;                                                    /* Set the current packet command */
        pc->actually_transferred=0;                                     /* We haven't transferred any data yet */
        pc->current_position=pc->buffer;
        bcount.all = min(pc->request_transfer, 63 * 1024);              /* Request to transfer the entire buffer at once */
 
-       feature.all = 0;
        if (drive->using_dma && !idescsi_map_sg(drive, pc)) {
                hwif->sg_mapped = 1;
-               feature.b.dma = !hwif->dma_setup(drive);
+               dma = !hwif->dma_setup(drive);
                hwif->sg_mapped = 0;
        }
 
        if (IDE_CONTROL_REG)
                HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG);
 
-       HWIF(drive)->OUTB(feature.all, IDE_FEATURE_REG);
+       hwif->OUTB(dma, IDE_FEATURE_REG);
        HWIF(drive)->OUTB(bcount.b.high, IDE_BCOUNTH_REG);
        HWIF(drive)->OUTB(bcount.b.low, IDE_BCOUNTL_REG);
 
-       if (feature.b.dma)
+       if (dma)
                set_bit(PC_DMA_OK, &pc->flags);
 
        if (test_bit(IDESCSI_DRQ_INTERRUPT, &scsi->flags)) {
 
        } b;
 } select_t, ata_select_t;
 
-/*
- * ATAPI Feature Register
- *
- * dma         : Using DMA or PIO
- * reserved321 : Reserved
- * reserved654 : Reserved (Tag Type)
- * reserved7   : Reserved
- */
-typedef union {
-       unsigned all                    :8;
-       struct {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
-               unsigned dma            :1;
-               unsigned reserved321    :3;
-               unsigned reserved654    :3;
-               unsigned reserved7      :1;
-#elif defined(__BIG_ENDIAN_BITFIELD)
-               unsigned reserved7      :1;
-               unsigned reserved654    :3;
-               unsigned reserved321    :3;
-               unsigned dma            :1;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
-       } b;
-} atapi_feature_t;
-
 /*
  * ATAPI Interrupt Reason Register.
  *