... and while we're at it ... commit c824f79fe4040f7541d7e35c546bb57a22d2fe11 Author: Borislav Petkov <petkovbb@xxxxxxxxx> Date: Wed Feb 6 06:23:10 2008 +0100 ide-tape: move all struct and other defs to the top Signed-off-by: Borislav Petkov <petkovbb@xxxxxxxxx> diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 9455ce4..398aea8 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c @@ -225,6 +225,69 @@ enum { PC_FL_WRITING = (1 << 5), }; +/* Tape door status */ +#define DOOR_UNLOCKED 0 +#define DOOR_LOCKED 1 +#define DOOR_EXPLICITLY_LOCKED 2 + +/* Tape flag bits values. */ +enum { + IDETAPE_FL_IGNORE_DSC = (1 << 0), + /* 0 When the tape position is unknown */ + IDETAPE_FL_ADDRESS_VALID = (1 << 1), + /* Device already opened */ + IDETAPE_FL_BUSY = (1 << 2), + /* Error detected in a pipeline stage */ + IDETAPE_FL_PIPELINE_ERR = (1 << 3), + /* Attempt to auto-detect the current user block size */ + IDETAPE_FL_DETECT_BS = (1 << 4), + /* Currently on a filemark */ + IDETAPE_FL_FILEMARK = (1 << 5), + /* DRQ interrupt device */ + IDETAPE_FL_DRQ_INTERRUPT = (1 << 6), + /* pipeline active */ + IDETAPE_FL_PIPELINE_ACTIVE = (1 << 7), + /* 0 = no tape is loaded, so we don't rewind after ejecting */ + IDETAPE_FL_MEDIUM_PRESENT = (1 << 8), +}; + +/* A define for the READ BUFFER command */ +#define IDETAPE_RETRIEVE_FAULTY_BLOCK 6 + +/* Some defines for the SPACE command */ +#define IDETAPE_SPACE_OVER_FILEMARK 1 +#define IDETAPE_SPACE_TO_EOD 3 + +/* Some defines for the LOAD UNLOAD command */ +#define IDETAPE_LU_LOAD_MASK 1 +#define IDETAPE_LU_RETENSION_MASK 2 +#define IDETAPE_LU_EOT_MASK 4 + +/* + * Special requests for our block device strategy routine. + * + * In order to service a character device command, we add special requests to + * the tail of our block device request queue and wait for their completion. + */ + +enum { + REQ_IDETAPE_PC1 = (1 << 0), /* packet command (first stage) */ + REQ_IDETAPE_PC2 = (1 << 1), /* packet command (second stage) */ + REQ_IDETAPE_READ = (1 << 2), + REQ_IDETAPE_WRITE = (1 << 3), + REQ_IDETAPE_READ_BUFFER = (1 << 4), +}; + +/* Error codes returned in rq->errors to the higher part of the driver. */ +#define IDETAPE_ERROR_GENERAL 101 +#define IDETAPE_ERROR_FILEMARK 102 +#define IDETAPE_ERROR_EOD 103 + +/* Structures related to the SELECT SENSE / MODE SENSE packet commands. */ +#define IDETAPE_BLOCK_DESCRIPTOR 0 +#define IDETAPE_CAPABILITIES_PAGE 0x2a + + /* A pipeline stage. */ typedef struct idetape_stage_s { struct request rq; /* The corresponding request */ @@ -445,68 +508,6 @@ static void ide_tape_put(struct ide_tape_obj *tape) mutex_unlock(&idetape_ref_mutex); } -/* Tape door status */ -#define DOOR_UNLOCKED 0 -#define DOOR_LOCKED 1 -#define DOOR_EXPLICITLY_LOCKED 2 - -/* Tape flag bits values. */ -enum { - IDETAPE_FL_IGNORE_DSC = (1 << 0), - /* 0 When the tape position is unknown */ - IDETAPE_FL_ADDRESS_VALID = (1 << 1), - /* Device already opened */ - IDETAPE_FL_BUSY = (1 << 2), - /* Error detected in a pipeline stage */ - IDETAPE_FL_PIPELINE_ERR = (1 << 3), - /* Attempt to auto-detect the current user block size */ - IDETAPE_FL_DETECT_BS = (1 << 4), - /* Currently on a filemark */ - IDETAPE_FL_FILEMARK = (1 << 5), - /* DRQ interrupt device */ - IDETAPE_FL_DRQ_INTERRUPT = (1 << 6), - /* pipeline active */ - IDETAPE_FL_PIPELINE_ACTIVE = (1 << 7), - /* 0 = no tape is loaded, so we don't rewind after ejecting */ - IDETAPE_FL_MEDIUM_PRESENT = (1 << 8), -}; - -/* A define for the READ BUFFER command */ -#define IDETAPE_RETRIEVE_FAULTY_BLOCK 6 - -/* Some defines for the SPACE command */ -#define IDETAPE_SPACE_OVER_FILEMARK 1 -#define IDETAPE_SPACE_TO_EOD 3 - -/* Some defines for the LOAD UNLOAD command */ -#define IDETAPE_LU_LOAD_MASK 1 -#define IDETAPE_LU_RETENSION_MASK 2 -#define IDETAPE_LU_EOT_MASK 4 - -/* - * Special requests for our block device strategy routine. - * - * In order to service a character device command, we add special requests to - * the tail of our block device request queue and wait for their completion. - */ - -enum { - REQ_IDETAPE_PC1 = (1 << 0), /* packet command (first stage) */ - REQ_IDETAPE_PC2 = (1 << 1), /* packet command (second stage) */ - REQ_IDETAPE_READ = (1 << 2), - REQ_IDETAPE_WRITE = (1 << 3), - REQ_IDETAPE_READ_BUFFER = (1 << 4), -}; - -/* Error codes returned in rq->errors to the higher part of the driver. */ -#define IDETAPE_ERROR_GENERAL 101 -#define IDETAPE_ERROR_FILEMARK 102 -#define IDETAPE_ERROR_EOD 103 - -/* Structures related to the SELECT SENSE / MODE SENSE packet commands. */ -#define IDETAPE_BLOCK_DESCRIPTOR 0 -#define IDETAPE_CAPABILITIES_PAGE 0x2a - /* * The variables below are used for the character device interface. Additional * state variables are defined in our ide_drive_t structure. -- Regards/Gruß, Boris. - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html