Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e38a66a1e69821ab57a06d5a7b11f0df9275bf4
Commit:     0e38a66a1e69821ab57a06d5a7b11f0df9275bf4
Parent:     22c525b976778cce5bb6f8fdcc70046168c54b1a
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Fri Jan 25 22:17:12 2008 +0100
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Fri Jan 25 22:17:12 2008 +0100

    ide: remove atapi_error_t (take 2)
    
    Remove atapi_error_t.
    
    While at it:
    * replace 'HWIF(drive)' by 'drive->hwif'
    
    v2:
    * Add {ILI,EOM,LFS}_ERR defines to <linux/hdreg.h>.
    
    Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/ide-floppy.c |    3 +--
 drivers/ide/ide-lib.c    |   21 ++++++++++-----------
 drivers/ide/ide-tape.c   |    3 +--
 include/linux/hdreg.h    |    3 +++
 include/linux/ide.h      |   30 ------------------------------
 5 files changed, 15 insertions(+), 45 deletions(-)

diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index 7b94c7a..2a37a08 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -772,9 +772,8 @@ static void idefloppy_retry_pc (ide_drive_t *drive)
 {
        idefloppy_pc_t *pc;
        struct request *rq;
-       atapi_error_t error;
 
-       error.all = HWIF(drive)->INB(IDE_ERROR_REG);
+       (void)drive->hwif->INB(IDE_ERROR_REG);
        pc = idefloppy_next_pc_storage(drive);
        rq = idefloppy_next_rq_storage(drive);
        idefloppy_create_request_sense_cmd(pc);
diff --git a/drivers/ide/ide-lib.c b/drivers/ide/ide-lib.c
index dc7e539..562f5ef 100644
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -562,9 +562,8 @@ static u8 ide_dump_ata_status(ide_drive_t *drive, const 
char *msg, u8 stat)
 static u8 ide_dump_atapi_status(ide_drive_t *drive, const char *msg, u8 stat)
 {
        unsigned long flags;
-       atapi_error_t error;
+       u8 err = 0;
 
-       error.all = 0;
        local_irq_save(flags);
        printk("%s: %s: status=0x%02x { ", drive->name, msg, stat);
        if (stat & BUSY_STAT)
@@ -580,19 +579,19 @@ static u8 ide_dump_atapi_status(ide_drive_t *drive, const 
char *msg, u8 stat)
        }
        printk("}\n");
        if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
-               error.all = HWIF(drive)->INB(IDE_ERROR_REG);
-               printk("%s: %s: error=0x%02x { ", drive->name, msg, error.all);
-               if (error.b.ili)        printk("IllegalLengthIndication ");
-               if (error.b.eom)        printk("EndOfMedia ");
-               if (error.b.abrt)       printk("AbortedCommand ");
-               if (error.b.mcr)        printk("MediaChangeRequested ");
-               if (error.b.sense_key)  printk("LastFailedSense=0x%02x ",
-                                               error.b.sense_key);
+               err = drive->hwif->INB(IDE_ERROR_REG);
+               printk("%s: %s: error=0x%02x { ", drive->name, msg, err);
+               if (err & ILI_ERR)      printk("IllegalLengthIndication ");
+               if (err & EOM_ERR)      printk("EndOfMedia ");
+               if (err & ABRT_ERR)     printk("AbortedCommand ");
+               if (err & MCR_ERR)      printk("MediaChangeRequested ");
+               if (err & LFS_ERR)      printk("LastFailedSense=0x%02x ",
+                                               (err & LFS_ERR) >> 4);
                printk("}\n");
        }
        ide_dump_opcode(drive);
        local_irq_restore(flags);
-       return error.all;
+       return err;
 }
 
 /**
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index c910395..2c03f46 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1808,9 +1808,8 @@ static ide_startstop_t idetape_retry_pc (ide_drive_t 
*drive)
        idetape_tape_t *tape = drive->driver_data;
        idetape_pc_t *pc;
        struct request *rq;
-       atapi_error_t error;
 
-       error.all = HWIF(drive)->INB(IDE_ERROR_REG);
+       (void)drive->hwif->INB(IDE_ERROR_REG);
        pc = idetape_next_pc_storage(drive);
        rq = idetape_next_rq_storage(drive);
        idetape_create_request_sense_cmd(pc);
diff --git a/include/linux/hdreg.h b/include/linux/hdreg.h
index df17bf7..0521f12 100644
--- a/include/linux/hdreg.h
+++ b/include/linux/hdreg.h
@@ -44,7 +44,9 @@
 
 /* Bits for HD_ERROR */
 #define MARK_ERR               0x01    /* Bad address mark */
+#define ILI_ERR                        0x01    /* Illegal Length Indication 
(ATAPI) */
 #define TRK0_ERR               0x02    /* couldn't find track 0 */
+#define EOM_ERR                        0x02    /* End Of Media (ATAPI) */
 #define ABRT_ERR               0x04    /* Command aborted */
 #define MCR_ERR                        0x08    /* media change request */
 #define ID_ERR                 0x10    /* ID field not found */
@@ -52,6 +54,7 @@
 #define ECC_ERR                        0x40    /* Uncorrectable ECC error */
 #define BBD_ERR                        0x80    /* pre-EIDE meaning:  block 
marked bad */
 #define ICRC_ERR               0x80    /* new meaning:  CRC error during 
transfer */
+#define LFS_ERR                        0xf0    /* Last Failed Sense (ATAPI) */
 
 /* Bits of HD_NSECTOR */
 #define CD                     0x01
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 921cf71..0c1b0aa 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -417,36 +417,6 @@ typedef union {
 } atapi_ireason_t;
 
 /*
- * The ATAPI error register.
- *
- * ili         : Illegal Length Indication
- * eom         : End Of Media Detected
- * abrt                : Aborted command - As defined by ATA
- * mcr         : Media Change Requested - As defined by ATA
- * sense_key   : Sense key of the last failed packet command
- */
-typedef union {
-       unsigned all                    :8;
-       struct {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
-               unsigned ili            :1;
-               unsigned eom            :1;
-               unsigned abrt           :1;
-               unsigned mcr            :1;
-               unsigned sense_key      :4;
-#elif defined(__BIG_ENDIAN_BITFIELD)
-               unsigned sense_key      :4;
-               unsigned mcr            :1;
-               unsigned abrt           :1;
-               unsigned eom            :1;
-               unsigned ili            :1;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
-       } b;
-} atapi_error_t;
-
-/*
  * Status returned from various ide_ functions
  */
 typedef enum {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to