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 <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
22c525b976
commit
0e38a66a1e
@ -772,9 +772,8 @@ static void idefloppy_retry_pc (ide_drive_t *drive)
|
|||||||
{
|
{
|
||||||
idefloppy_pc_t *pc;
|
idefloppy_pc_t *pc;
|
||||||
struct request *rq;
|
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);
|
pc = idefloppy_next_pc_storage(drive);
|
||||||
rq = idefloppy_next_rq_storage(drive);
|
rq = idefloppy_next_rq_storage(drive);
|
||||||
idefloppy_create_request_sense_cmd(pc);
|
idefloppy_create_request_sense_cmd(pc);
|
||||||
|
@ -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)
|
static u8 ide_dump_atapi_status(ide_drive_t *drive, const char *msg, u8 stat)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
atapi_error_t error;
|
u8 err = 0;
|
||||||
|
|
||||||
error.all = 0;
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
printk("%s: %s: status=0x%02x { ", drive->name, msg, stat);
|
printk("%s: %s: status=0x%02x { ", drive->name, msg, stat);
|
||||||
if (stat & BUSY_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");
|
printk("}\n");
|
||||||
if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
|
if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) {
|
||||||
error.all = HWIF(drive)->INB(IDE_ERROR_REG);
|
err = drive->hwif->INB(IDE_ERROR_REG);
|
||||||
printk("%s: %s: error=0x%02x { ", drive->name, msg, error.all);
|
printk("%s: %s: error=0x%02x { ", drive->name, msg, err);
|
||||||
if (error.b.ili) printk("IllegalLengthIndication ");
|
if (err & ILI_ERR) printk("IllegalLengthIndication ");
|
||||||
if (error.b.eom) printk("EndOfMedia ");
|
if (err & EOM_ERR) printk("EndOfMedia ");
|
||||||
if (error.b.abrt) printk("AbortedCommand ");
|
if (err & ABRT_ERR) printk("AbortedCommand ");
|
||||||
if (error.b.mcr) printk("MediaChangeRequested ");
|
if (err & MCR_ERR) printk("MediaChangeRequested ");
|
||||||
if (error.b.sense_key) printk("LastFailedSense=0x%02x ",
|
if (err & LFS_ERR) printk("LastFailedSense=0x%02x ",
|
||||||
error.b.sense_key);
|
(err & LFS_ERR) >> 4);
|
||||||
printk("}\n");
|
printk("}\n");
|
||||||
}
|
}
|
||||||
ide_dump_opcode(drive);
|
ide_dump_opcode(drive);
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
return error.all;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1808,9 +1808,8 @@ static ide_startstop_t idetape_retry_pc (ide_drive_t *drive)
|
|||||||
idetape_tape_t *tape = drive->driver_data;
|
idetape_tape_t *tape = drive->driver_data;
|
||||||
idetape_pc_t *pc;
|
idetape_pc_t *pc;
|
||||||
struct request *rq;
|
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);
|
pc = idetape_next_pc_storage(drive);
|
||||||
rq = idetape_next_rq_storage(drive);
|
rq = idetape_next_rq_storage(drive);
|
||||||
idetape_create_request_sense_cmd(pc);
|
idetape_create_request_sense_cmd(pc);
|
||||||
|
@ -44,7 +44,9 @@
|
|||||||
|
|
||||||
/* Bits for HD_ERROR */
|
/* Bits for HD_ERROR */
|
||||||
#define MARK_ERR 0x01 /* Bad address mark */
|
#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 TRK0_ERR 0x02 /* couldn't find track 0 */
|
||||||
|
#define EOM_ERR 0x02 /* End Of Media (ATAPI) */
|
||||||
#define ABRT_ERR 0x04 /* Command aborted */
|
#define ABRT_ERR 0x04 /* Command aborted */
|
||||||
#define MCR_ERR 0x08 /* media change request */
|
#define MCR_ERR 0x08 /* media change request */
|
||||||
#define ID_ERR 0x10 /* ID field not found */
|
#define ID_ERR 0x10 /* ID field not found */
|
||||||
@ -52,6 +54,7 @@
|
|||||||
#define ECC_ERR 0x40 /* Uncorrectable ECC error */
|
#define ECC_ERR 0x40 /* Uncorrectable ECC error */
|
||||||
#define BBD_ERR 0x80 /* pre-EIDE meaning: block marked bad */
|
#define BBD_ERR 0x80 /* pre-EIDE meaning: block marked bad */
|
||||||
#define ICRC_ERR 0x80 /* new meaning: CRC error during transfer */
|
#define ICRC_ERR 0x80 /* new meaning: CRC error during transfer */
|
||||||
|
#define LFS_ERR 0xf0 /* Last Failed Sense (ATAPI) */
|
||||||
|
|
||||||
/* Bits of HD_NSECTOR */
|
/* Bits of HD_NSECTOR */
|
||||||
#define CD 0x01
|
#define CD 0x01
|
||||||
|
@ -416,36 +416,6 @@ typedef union {
|
|||||||
} b;
|
} b;
|
||||||
} atapi_ireason_t;
|
} 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
|
* Status returned from various ide_ functions
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user