]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/storage/isd200.c
Merge branch 'timers-core-for-linus' of https://git.kernel.org/cgit/linux/kernel...
[karo-tx-linux.git] / drivers / usb / storage / isd200.c
index 06a3d22db685da2913b64070c397227840bf9ff8..599d8bff26c3f19164f5a79c428a11f3da4e3322 100644 (file)
@@ -503,7 +503,7 @@ static int isd200_action( struct us_data *us, int action,
 
        switch ( action ) {
        case ACTION_READ_STATUS:
-               US_DEBUGP("   isd200_action(READ_STATUS)\n");
+               usb_stor_dbg(us, "   isd200_action(READ_STATUS)\n");
                ata.generic.ActionSelect = ACTION_SELECT_0|ACTION_SELECT_2;
                ata.generic.RegisterSelect =
                  REG_CYLINDER_LOW | REG_CYLINDER_HIGH |
@@ -512,7 +512,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        case ACTION_ENUM:
-               US_DEBUGP("   isd200_action(ENUM,0x%02x)\n",value);
+               usb_stor_dbg(us, "   isd200_action(ENUM,0x%02x)\n", value);
                ata.generic.ActionSelect = ACTION_SELECT_1|ACTION_SELECT_2|
                                           ACTION_SELECT_3|ACTION_SELECT_4|
                                           ACTION_SELECT_5;
@@ -522,7 +522,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        case ACTION_RESET:
-               US_DEBUGP("   isd200_action(RESET)\n");
+               usb_stor_dbg(us, "   isd200_action(RESET)\n");
                ata.generic.ActionSelect = ACTION_SELECT_1|ACTION_SELECT_2|
                                           ACTION_SELECT_3|ACTION_SELECT_4;
                ata.generic.RegisterSelect = REG_DEVICE_CONTROL;
@@ -531,7 +531,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        case ACTION_REENABLE:
-               US_DEBUGP("   isd200_action(REENABLE)\n");
+               usb_stor_dbg(us, "   isd200_action(REENABLE)\n");
                ata.generic.ActionSelect = ACTION_SELECT_1|ACTION_SELECT_2|
                                           ACTION_SELECT_3|ACTION_SELECT_4;
                ata.generic.RegisterSelect = REG_DEVICE_CONTROL;
@@ -540,7 +540,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        case ACTION_SOFT_RESET:
-               US_DEBUGP("   isd200_action(SOFT_RESET)\n");
+               usb_stor_dbg(us, "   isd200_action(SOFT_RESET)\n");
                ata.generic.ActionSelect = ACTION_SELECT_1|ACTION_SELECT_5;
                ata.generic.RegisterSelect = REG_DEVICE_HEAD | REG_COMMAND;
                ata.write.DeviceHeadByte = info->DeviceHead;
@@ -549,7 +549,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        case ACTION_IDENTIFY:
-               US_DEBUGP("   isd200_action(IDENTIFY)\n");
+               usb_stor_dbg(us, "   isd200_action(IDENTIFY)\n");
                ata.generic.RegisterSelect = REG_COMMAND;
                ata.write.CommandByte = ATA_CMD_ID_ATA;
                isd200_set_srb(info, DMA_FROM_DEVICE, info->id,
@@ -557,7 +557,7 @@ static int isd200_action( struct us_data *us, int action,
                break;
 
        default:
-               US_DEBUGP("Error: Undefined action %d\n",action);
+               usb_stor_dbg(us, "Error: Undefined action %d\n", action);
                return ISD200_ERROR;
        }
 
@@ -567,7 +567,8 @@ static int isd200_action( struct us_data *us, int action,
        if (status == USB_STOR_TRANSPORT_GOOD)
                status = ISD200_GOOD;
        else {
-               US_DEBUGP("   isd200_action(0x%02x) error: %d\n",action,status);
+               usb_stor_dbg(us, "   isd200_action(0x%02x) error: %d\n",
+                            action, status);
                status = ISD200_ERROR;
                /* need to reset device here */
        }
@@ -589,17 +590,17 @@ static int isd200_read_regs( struct us_data *us )
        int retStatus = ISD200_GOOD;
        int transferStatus;
 
-       US_DEBUGP("Entering isd200_IssueATAReadRegs\n");
+       usb_stor_dbg(us, "Entering isd200_IssueATAReadRegs\n");
 
        transferStatus = isd200_action( us, ACTION_READ_STATUS,
                                    info->RegsBuf, sizeof(info->ATARegs) );
        if (transferStatus != ISD200_TRANSPORT_GOOD) {
-               US_DEBUGP("   Error reading ATA registers\n");
+               usb_stor_dbg(us, "   Error reading ATA registers\n");
                retStatus = ISD200_ERROR;
        } else {
                memcpy(info->ATARegs, info->RegsBuf, sizeof(info->ATARegs));
-               US_DEBUGP("   Got ATA Register[ATA_REG_ERROR_OFFSET] = 0x%x\n",
-                         info->ATARegs[ATA_REG_ERROR_OFFSET]);
+               usb_stor_dbg(us, "   Got ATA Register[ATA_REG_ERROR_OFFSET] = 0x%x\n",
+                            info->ATARegs[ATA_REG_ERROR_OFFSET]);
        }
 
        return retStatus;
@@ -629,7 +630,7 @@ static void isd200_invoke_transport( struct us_data *us,
         * short-circuit all other processing
         */
        if (test_bit(US_FLIDX_TIMED_OUT, &us->dflags)) {
-               US_DEBUGP("-- command was aborted\n");
+               usb_stor_dbg(us, "-- command was aborted\n");
                goto Handle_Abort;
        }
 
@@ -641,23 +642,23 @@ static void isd200_invoke_transport( struct us_data *us,
                break;
 
        case USB_STOR_TRANSPORT_NO_SENSE:
-               US_DEBUGP("-- transport indicates protocol failure\n");
+               usb_stor_dbg(us, "-- transport indicates protocol failure\n");
                srb->result = SAM_STAT_CHECK_CONDITION;
                return;
 
        case USB_STOR_TRANSPORT_FAILED:
-               US_DEBUGP("-- transport indicates command failure\n");
+               usb_stor_dbg(us, "-- transport indicates command failure\n");
                need_auto_sense = 1;
                break;
 
        case USB_STOR_TRANSPORT_ERROR:
-               US_DEBUGP("-- transport indicates transport error\n");
+               usb_stor_dbg(us, "-- transport indicates transport error\n");
                srb->result = DID_ERROR << 16;
                /* Need reset here */
                return;
     
        default:
-               US_DEBUGP("-- transport indicates unknown error\n");   
+               usb_stor_dbg(us, "-- transport indicates unknown error\n");
                srb->result = DID_ERROR << 16;
                /* Need reset here */
                return;
@@ -669,14 +670,14 @@ static void isd200_invoke_transport( struct us_data *us,
              (srb->cmnd[0] == MODE_SENSE) ||
              (srb->cmnd[0] == LOG_SENSE) ||
              (srb->cmnd[0] == MODE_SENSE_10))) {
-               US_DEBUGP("-- unexpectedly short transfer\n");
+               usb_stor_dbg(us, "-- unexpectedly short transfer\n");
                need_auto_sense = 1;
        }
 
        if (need_auto_sense) {
                result = isd200_read_regs(us);
                if (test_bit(US_FLIDX_TIMED_OUT, &us->dflags)) {
-                       US_DEBUGP("-- auto-sense aborted\n");
+                       usb_stor_dbg(us, "-- auto-sense aborted\n");
                        goto Handle_Abort;
                }
                if (result == ISD200_GOOD) {
@@ -710,40 +711,40 @@ static void isd200_invoke_transport( struct us_data *us,
 }
 
 #ifdef CONFIG_USB_STORAGE_DEBUG
-static void isd200_log_config( struct isd200_info* info )
+static void isd200_log_config(struct us_data *us, struct isd200_info *info)
 {
-       US_DEBUGP("      Event Notification: 0x%x\n", 
-                 info->ConfigData.EventNotification);
-       US_DEBUGP("      External Clock: 0x%x\n", 
-                 info->ConfigData.ExternalClock);
-       US_DEBUGP("      ATA Init Timeout: 0x%x\n", 
-                 info->ConfigData.ATAInitTimeout);
-       US_DEBUGP("      ATAPI Command Block Size: 0x%x\n", 
-                 (info->ConfigData.ATAConfig & ATACFG_BLOCKSIZE) >> 6);
-       US_DEBUGP("      Master/Slave Selection: 0x%x\n", 
-                 info->ConfigData.ATAConfig & ATACFG_MASTER);
-       US_DEBUGP("      ATAPI Reset: 0x%x\n",
-                 info->ConfigData.ATAConfig & ATACFG_ATAPI_RESET);
-       US_DEBUGP("      ATA Timing: 0x%x\n",
-                 info->ConfigData.ATAConfig & ATACFG_TIMING);
-       US_DEBUGP("      ATA Major Command: 0x%x\n", 
-                 info->ConfigData.ATAMajorCommand);
-       US_DEBUGP("      ATA Minor Command: 0x%x\n", 
-                 info->ConfigData.ATAMinorCommand);
-       US_DEBUGP("      Init Status: 0x%x\n", 
-                 info->ConfigData.ATAExtraConfig & ATACFGE_INIT_STATUS);
-       US_DEBUGP("      Config Descriptor 2: 0x%x\n", 
-                 info->ConfigData.ATAExtraConfig & ATACFGE_CONF_DESC2);
-       US_DEBUGP("      Skip Device Boot: 0x%x\n",
-                 info->ConfigData.ATAExtraConfig & ATACFGE_SKIP_BOOT);
-       US_DEBUGP("      ATA 3 State Supsend: 0x%x\n",
-                 info->ConfigData.ATAExtraConfig & ATACFGE_STATE_SUSPEND);
-       US_DEBUGP("      Descriptor Override: 0x%x\n", 
-                 info->ConfigData.ATAExtraConfig & ATACFGE_DESC_OVERRIDE);
-       US_DEBUGP("      Last LUN Identifier: 0x%x\n",
-                 info->ConfigData.ATAExtraConfig & ATACFGE_LAST_LUN);
-       US_DEBUGP("      SRST Enable: 0x%x\n", 
-                 info->ConfigData.ATAExtraConfig & CFG_CAPABILITY_SRST);
+       usb_stor_dbg(us, "      Event Notification: 0x%x\n",
+                    info->ConfigData.EventNotification);
+       usb_stor_dbg(us, "      External Clock: 0x%x\n",
+                    info->ConfigData.ExternalClock);
+       usb_stor_dbg(us, "      ATA Init Timeout: 0x%x\n",
+                    info->ConfigData.ATAInitTimeout);
+       usb_stor_dbg(us, "      ATAPI Command Block Size: 0x%x\n",
+                    (info->ConfigData.ATAConfig & ATACFG_BLOCKSIZE) >> 6);
+       usb_stor_dbg(us, "      Master/Slave Selection: 0x%x\n",
+                    info->ConfigData.ATAConfig & ATACFG_MASTER);
+       usb_stor_dbg(us, "      ATAPI Reset: 0x%x\n",
+                    info->ConfigData.ATAConfig & ATACFG_ATAPI_RESET);
+       usb_stor_dbg(us, "      ATA Timing: 0x%x\n",
+                    info->ConfigData.ATAConfig & ATACFG_TIMING);
+       usb_stor_dbg(us, "      ATA Major Command: 0x%x\n",
+                    info->ConfigData.ATAMajorCommand);
+       usb_stor_dbg(us, "      ATA Minor Command: 0x%x\n",
+                    info->ConfigData.ATAMinorCommand);
+       usb_stor_dbg(us, "      Init Status: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_INIT_STATUS);
+       usb_stor_dbg(us, "      Config Descriptor 2: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_CONF_DESC2);
+       usb_stor_dbg(us, "      Skip Device Boot: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_SKIP_BOOT);
+       usb_stor_dbg(us, "      ATA 3 State Supsend: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_STATE_SUSPEND);
+       usb_stor_dbg(us, "      Descriptor Override: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_DESC_OVERRIDE);
+       usb_stor_dbg(us, "      Last LUN Identifier: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & ATACFGE_LAST_LUN);
+       usb_stor_dbg(us, "      SRST Enable: 0x%x\n",
+                    info->ConfigData.ATAExtraConfig & CFG_CAPABILITY_SRST);
 }
 #endif
 
@@ -762,9 +763,9 @@ static int isd200_write_config( struct us_data *us )
        int result;
 
 #ifdef CONFIG_USB_STORAGE_DEBUG
-       US_DEBUGP("Entering isd200_write_config\n");
-       US_DEBUGP("   Writing the following ISD200 Config Data:\n");
-       isd200_log_config(info);
+       usb_stor_dbg(us, "Entering isd200_write_config\n");
+       usb_stor_dbg(us, "   Writing the following ISD200 Config Data:\n");
+       isd200_log_config(us, info);
 #endif
 
        /* let's send the command via the control pipe */
@@ -779,13 +780,13 @@ static int isd200_write_config( struct us_data *us )
                sizeof(info->ConfigData));
 
        if (result >= 0) {
-               US_DEBUGP("   ISD200 Config Data was written successfully\n");
+               usb_stor_dbg(us, "   ISD200 Config Data was written successfully\n");
        } else {
-               US_DEBUGP("   Request to write ISD200 Config Data failed!\n");
+               usb_stor_dbg(us, "   Request to write ISD200 Config Data failed!\n");
                retStatus = ISD200_ERROR;
        }
 
-       US_DEBUGP("Leaving isd200_write_config %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_write_config %08X\n", retStatus);
        return retStatus;
 }
 
@@ -804,7 +805,7 @@ static int isd200_read_config( struct us_data *us )
        int retStatus = ISD200_GOOD;
        int result;
 
-       US_DEBUGP("Entering isd200_read_config\n");
+       usb_stor_dbg(us, "Entering isd200_read_config\n");
 
        /* read the configuration information from ISD200.  Use this to */
        /* determine what the special ATA CDB bytes are.                */
@@ -821,16 +822,16 @@ static int isd200_read_config( struct us_data *us )
 
 
        if (result >= 0) {
-               US_DEBUGP("   Retrieved the following ISD200 Config Data:\n");
+               usb_stor_dbg(us, "   Retrieved the following ISD200 Config Data:\n");
 #ifdef CONFIG_USB_STORAGE_DEBUG
-               isd200_log_config(info);
+               isd200_log_config(us, info);
 #endif
        } else {
-               US_DEBUGP("   Request to get ISD200 Config Data failed!\n");
+               usb_stor_dbg(us, "   Request to get ISD200 Config Data failed!\n");
                retStatus = ISD200_ERROR;
        }
 
-       US_DEBUGP("Leaving isd200_read_config %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_read_config %08X\n", retStatus);
        return retStatus;
 }
 
@@ -848,15 +849,15 @@ static int isd200_atapi_soft_reset( struct us_data *us )
        int retStatus = ISD200_GOOD;
        int transferStatus;
 
-       US_DEBUGP("Entering isd200_atapi_soft_reset\n");
+       usb_stor_dbg(us, "Entering isd200_atapi_soft_reset\n");
 
        transferStatus = isd200_action( us, ACTION_SOFT_RESET, NULL, 0 );
        if (transferStatus != ISD200_TRANSPORT_GOOD) {
-               US_DEBUGP("   Error issuing Atapi Soft Reset\n");
+               usb_stor_dbg(us, "   Error issuing Atapi Soft Reset\n");
                retStatus = ISD200_ERROR;
        }
 
-       US_DEBUGP("Leaving isd200_atapi_soft_reset %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_atapi_soft_reset %08X\n", retStatus);
        return retStatus;
 }
 
@@ -874,13 +875,13 @@ static int isd200_srst( struct us_data *us )
        int retStatus = ISD200_GOOD;
        int transferStatus;
 
-       US_DEBUGP("Entering isd200_SRST\n");
+       usb_stor_dbg(us, "Entering isd200_SRST\n");
 
        transferStatus = isd200_action( us, ACTION_RESET, NULL, 0 );
 
        /* check to see if this request failed */
        if (transferStatus != ISD200_TRANSPORT_GOOD) {
-               US_DEBUGP("   Error issuing SRST\n");
+               usb_stor_dbg(us, "   Error issuing SRST\n");
                retStatus = ISD200_ERROR;
        } else {
                /* delay 10ms to give the drive a chance to see it */
@@ -888,7 +889,7 @@ static int isd200_srst( struct us_data *us )
 
                transferStatus = isd200_action( us, ACTION_REENABLE, NULL, 0 );
                if (transferStatus != ISD200_TRANSPORT_GOOD) {
-                       US_DEBUGP("   Error taking drive out of reset\n");
+                       usb_stor_dbg(us, "   Error taking drive out of reset\n");
                        retStatus = ISD200_ERROR;
                } else {
                        /* delay 50ms to give the drive a chance to recover after SRST */
@@ -896,7 +897,7 @@ static int isd200_srst( struct us_data *us )
                }
        }
 
-       US_DEBUGP("Leaving isd200_srst %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_srst %08X\n", retStatus);
        return retStatus;
 }
 
@@ -926,10 +927,6 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave,
 
        /* loop until we detect !BSY or timeout */
        while(1) {
-#ifdef CONFIG_USB_STORAGE_DEBUG
-               char* mstr = master_slave == ATA_ADDRESS_DEVHEAD_STD ?
-                       "Master" : "Slave";
-#endif
 
                status = isd200_action( us, ACTION_ENUM, NULL, master_slave );
                if ( status != ISD200_GOOD )
@@ -942,9 +939,13 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave,
 
                if (!detect) {
                        if (regs[ATA_REG_STATUS_OFFSET] & ATA_BUSY) {
-                               US_DEBUGP("   %s status is still BSY, try again...\n",mstr);
+                               usb_stor_dbg(us, "   %s status is still BSY, try again...\n",
+                                            master_slave == ATA_ADDRESS_DEVHEAD_STD ?
+                                            "Master" : "Slave");
                        } else {
-                               US_DEBUGP("   %s status !BSY, continue with next operation\n",mstr);
+                               usb_stor_dbg(us, "   %s status !BSY, continue with next operation\n",
+                                            master_slave == ATA_ADDRESS_DEVHEAD_STD ?
+                                            "Master" : "Slave");
                                break;
                        }
                }
@@ -953,11 +954,11 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave,
                /* ATA_ERR (workaround for Archos CD-ROM) */
                else if (regs[ATA_REG_STATUS_OFFSET] &
                         (ATA_BUSY | ATA_DF | ATA_ERR)) {
-                       US_DEBUGP("   Status indicates it is not ready, try again...\n");
+                       usb_stor_dbg(us, "   Status indicates it is not ready, try again...\n");
                }
                /* check for DRDY, ATA devices set DRDY after SRST */
                else if (regs[ATA_REG_STATUS_OFFSET] & ATA_DRDY) {
-                       US_DEBUGP("   Identified ATA device\n");
+                       usb_stor_dbg(us, "   Identified ATA device\n");
                        info->DeviceFlags |= DF_ATA_DEVICE;
                        info->DeviceHead = master_slave;
                        break;
@@ -978,27 +979,27 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave,
                        */
                        if ((master_slave & ATA_ADDRESS_DEVHEAD_SLAVE) &&
                            !recheckAsMaster) {
-                               US_DEBUGP("   Identified ATAPI device as slave.  Rechecking again as master\n");
+                               usb_stor_dbg(us, "   Identified ATAPI device as slave.  Rechecking again as master\n");
                                recheckAsMaster = 1;
                                master_slave = ATA_ADDRESS_DEVHEAD_STD;
                        } else {
-                               US_DEBUGP("   Identified ATAPI device\n");
+                               usb_stor_dbg(us, "   Identified ATAPI device\n");
                                info->DeviceHead = master_slave;
                              
                                status = isd200_atapi_soft_reset(us);
                                break;
                        }
                } else {
-                       US_DEBUGP("   Not ATA, not ATAPI. Weird.\n");
+                       usb_stor_dbg(us, "   Not ATA, not ATAPI - Weird\n");
                        break;
                }
 
                /* check for timeout on this request */
                if (time_after_eq(jiffies, endTime)) {
                        if (!detect)
-                               US_DEBUGP("   BSY check timeout, just continue with next operation...\n");
+                               usb_stor_dbg(us, "   BSY check timeout, just continue with next operation...\n");
                        else
-                               US_DEBUGP("   Device detect timeout!\n");
+                               usb_stor_dbg(us, "   Device detect timeout!\n");
                        break;
                }
        }
@@ -1020,7 +1021,7 @@ static int isd200_manual_enum(struct us_data *us)
        struct isd200_info *info = (struct isd200_info *)us->extra;
        int retStatus = ISD200_GOOD;
 
-       US_DEBUGP("Entering isd200_manual_enum\n");
+       usb_stor_dbg(us, "Entering isd200_manual_enum\n");
 
        retStatus = isd200_read_config(us);
        if (retStatus == ISD200_GOOD) {
@@ -1039,14 +1040,15 @@ static int isd200_manual_enum(struct us_data *us)
 
                isslave = (info->DeviceHead & ATA_ADDRESS_DEVHEAD_SLAVE) ? 1 : 0;
                if (!(info->ConfigData.ATAConfig & ATACFG_MASTER)) {
-                       US_DEBUGP("   Setting Master/Slave selection to %d\n", isslave);
+                       usb_stor_dbg(us, "   Setting Master/Slave selection to %d\n",
+                                    isslave);
                        info->ConfigData.ATAConfig &= 0x3f;
                        info->ConfigData.ATAConfig |= (isslave<<6);
                        retStatus = isd200_write_config(us);
                }
        }
 
-       US_DEBUGP("Leaving isd200_manual_enum %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_manual_enum %08X\n", retStatus);
        return(retStatus);
 }
 
@@ -1064,35 +1066,35 @@ static void isd200_fix_driveid(u16 *id)
 #endif
 }
 
-static void isd200_dump_driveid(u16 *id)
+static void isd200_dump_driveid(struct us_data *us, u16 *id)
 {
-       US_DEBUGP("   Identify Data Structure:\n");
-       US_DEBUGP("      config = 0x%x\n",        id[ATA_ID_CONFIG]);
-       US_DEBUGP("      cyls = 0x%x\n",          id[ATA_ID_CYLS]);
-       US_DEBUGP("      heads = 0x%x\n",         id[ATA_ID_HEADS]);
-       US_DEBUGP("      track_bytes = 0x%x\n",   id[4]);
-       US_DEBUGP("      sector_bytes = 0x%x\n",  id[5]);
-       US_DEBUGP("      sectors = 0x%x\n",       id[ATA_ID_SECTORS]);
-       US_DEBUGP("      serial_no[0] = 0x%x\n",  *(char *)&id[ATA_ID_SERNO]);
-       US_DEBUGP("      buf_type = 0x%x\n",      id[20]);
-       US_DEBUGP("      buf_size = 0x%x\n",      id[ATA_ID_BUF_SIZE]);
-       US_DEBUGP("      ecc_bytes = 0x%x\n",     id[22]);
-       US_DEBUGP("      fw_rev[0] = 0x%x\n",     *(char *)&id[ATA_ID_FW_REV]);
-       US_DEBUGP("      model[0] = 0x%x\n",      *(char *)&id[ATA_ID_PROD]);
-       US_DEBUGP("      max_multsect = 0x%x\n",  id[ATA_ID_MAX_MULTSECT] & 0xff);
-       US_DEBUGP("      dword_io = 0x%x\n",      id[ATA_ID_DWORD_IO]);
-       US_DEBUGP("      capability = 0x%x\n",    id[ATA_ID_CAPABILITY] >> 8);
-       US_DEBUGP("      tPIO = 0x%x\n",          id[ATA_ID_OLD_PIO_MODES] >> 8);
-       US_DEBUGP("      tDMA = 0x%x\n",          id[ATA_ID_OLD_DMA_MODES] >> 8);
-       US_DEBUGP("      field_valid = 0x%x\n",   id[ATA_ID_FIELD_VALID]);
-       US_DEBUGP("      cur_cyls = 0x%x\n",      id[ATA_ID_CUR_CYLS]);
-       US_DEBUGP("      cur_heads = 0x%x\n",     id[ATA_ID_CUR_HEADS]);
-       US_DEBUGP("      cur_sectors = 0x%x\n",   id[ATA_ID_CUR_SECTORS]);
-       US_DEBUGP("      cur_capacity = 0x%x\n",  ata_id_u32(id, 57));
-       US_DEBUGP("      multsect = 0x%x\n",      id[ATA_ID_MULTSECT] & 0xff);
-       US_DEBUGP("      lba_capacity = 0x%x\n",  ata_id_u32(id, ATA_ID_LBA_CAPACITY));
-       US_DEBUGP("      command_set_1 = 0x%x\n", id[ATA_ID_COMMAND_SET_1]);
-       US_DEBUGP("      command_set_2 = 0x%x\n", id[ATA_ID_COMMAND_SET_2]);
+       usb_stor_dbg(us, "   Identify Data Structure:\n");
+       usb_stor_dbg(us, "      config = 0x%x\n",       id[ATA_ID_CONFIG]);
+       usb_stor_dbg(us, "      cyls = 0x%x\n",         id[ATA_ID_CYLS]);
+       usb_stor_dbg(us, "      heads = 0x%x\n",        id[ATA_ID_HEADS]);
+       usb_stor_dbg(us, "      track_bytes = 0x%x\n",  id[4]);
+       usb_stor_dbg(us, "      sector_bytes = 0x%x\n", id[5]);
+       usb_stor_dbg(us, "      sectors = 0x%x\n",      id[ATA_ID_SECTORS]);
+       usb_stor_dbg(us, "      serial_no[0] = 0x%x\n", *(char *)&id[ATA_ID_SERNO]);
+       usb_stor_dbg(us, "      buf_type = 0x%x\n",     id[20]);
+       usb_stor_dbg(us, "      buf_size = 0x%x\n",     id[ATA_ID_BUF_SIZE]);
+       usb_stor_dbg(us, "      ecc_bytes = 0x%x\n",    id[22]);
+       usb_stor_dbg(us, "      fw_rev[0] = 0x%x\n",    *(char *)&id[ATA_ID_FW_REV]);
+       usb_stor_dbg(us, "      model[0] = 0x%x\n",     *(char *)&id[ATA_ID_PROD]);
+       usb_stor_dbg(us, "      max_multsect = 0x%x\n", id[ATA_ID_MAX_MULTSECT] & 0xff);
+       usb_stor_dbg(us, "      dword_io = 0x%x\n",     id[ATA_ID_DWORD_IO]);
+       usb_stor_dbg(us, "      capability = 0x%x\n",   id[ATA_ID_CAPABILITY] >> 8);
+       usb_stor_dbg(us, "      tPIO = 0x%x\n",   id[ATA_ID_OLD_PIO_MODES] >> 8);
+       usb_stor_dbg(us, "      tDMA = 0x%x\n",   id[ATA_ID_OLD_DMA_MODES] >> 8);
+       usb_stor_dbg(us, "      field_valid = 0x%x\n",  id[ATA_ID_FIELD_VALID]);
+       usb_stor_dbg(us, "      cur_cyls = 0x%x\n",     id[ATA_ID_CUR_CYLS]);
+       usb_stor_dbg(us, "      cur_heads = 0x%x\n",    id[ATA_ID_CUR_HEADS]);
+       usb_stor_dbg(us, "      cur_sectors = 0x%x\n",  id[ATA_ID_CUR_SECTORS]);
+       usb_stor_dbg(us, "      cur_capacity = 0x%x\n", ata_id_u32(id, 57));
+       usb_stor_dbg(us, "      multsect = 0x%x\n",     id[ATA_ID_MULTSECT] & 0xff);
+       usb_stor_dbg(us, "      lba_capacity = 0x%x\n", ata_id_u32(id, ATA_ID_LBA_CAPACITY));
+       usb_stor_dbg(us, "      command_set_1 = 0x%x\n", id[ATA_ID_COMMAND_SET_1]);
+       usb_stor_dbg(us, "      command_set_2 = 0x%x\n", id[ATA_ID_COMMAND_SET_2]);
 }
 
 /**************************************************************************
@@ -1109,7 +1111,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
        int retStatus = ISD200_GOOD;
        u16 *id = info->id;
 
-       US_DEBUGP("Entering isd200_get_inquiry_data\n");
+       usb_stor_dbg(us, "Entering isd200_get_inquiry_data\n");
 
        /* set default to Master */
        info->DeviceHead = ATA_ADDRESS_DEVHEAD_STD;
@@ -1127,7 +1129,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
                                                        id, ATA_ID_WORDS * 2);
                        if (transferStatus != ISD200_TRANSPORT_GOOD) {
                                /* Error issuing ATA Command Identify */
-                               US_DEBUGP("   Error issuing ATA Command Identify\n");
+                               usb_stor_dbg(us, "   Error issuing ATA Command Identify\n");
                                retStatus = ISD200_ERROR;
                        } else {
                                /* ATA Command Identify successful */
@@ -1136,7 +1138,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
                                __u16 *dest;
 
                                isd200_fix_driveid(id);
-                               isd200_dump_driveid(id);
+                               isd200_dump_driveid(us, id);
 
                                memset(&info->InquiryData, 0, sizeof(info->InquiryData));
 
@@ -1170,7 +1172,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
 
                                /* determine if it supports Media Status Notification */
                                if (id[ATA_ID_COMMAND_SET_2] & COMMANDSET_MEDIA_STATUS) {
-                                       US_DEBUGP("   Device supports Media Status Notification\n");
+                                       usb_stor_dbg(us, "   Device supports Media Status Notification\n");
 
                                        /* Indicate that it is enabled, even though it is not
                                         * This allows the lock/unlock of the media to work
@@ -1190,7 +1192,8 @@ static int isd200_get_inquiry_data( struct us_data *us )
                        us->protocol_name = "Transparent SCSI";
                        us->proto_handler = usb_stor_transparent_scsi_command;
 
-                       US_DEBUGP("Protocol changed to: %s\n", us->protocol_name);
+                       usb_stor_dbg(us, "Protocol changed to: %s\n",
+                                    us->protocol_name);
            
                        /* Free driver structure */         
                        us->extra_destructor(info);
@@ -1200,7 +1203,7 @@ static int isd200_get_inquiry_data( struct us_data *us )
                }
        }
 
-       US_DEBUGP("Leaving isd200_get_inquiry_data %08X\n", retStatus);
+       usb_stor_dbg(us, "Leaving isd200_get_inquiry_data %08X\n", retStatus);
 
        return(retStatus);
 }
@@ -1231,7 +1234,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
        /* SCSI Command */
        switch (srb->cmnd[0]) {
        case INQUIRY:
-               US_DEBUGP("   ATA OUT - INQUIRY\n");
+               usb_stor_dbg(us, "   ATA OUT - INQUIRY\n");
 
                /* copy InquiryData */
                usb_stor_set_xfer_buf((unsigned char *) &info->InquiryData,
@@ -1241,7 +1244,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                break;
 
        case MODE_SENSE:
-               US_DEBUGP("   ATA OUT - SCSIOP_MODE_SENSE\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_MODE_SENSE\n");
 
                /* Initialize the return buffer */
                usb_stor_set_xfer_buf(senseData, sizeof(senseData), srb);
@@ -1255,14 +1258,14 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                        ataCdb->write.CommandByte = ATA_COMMAND_GET_MEDIA_STATUS;
                        isd200_srb_set_bufflen(srb, 0);
                } else {
-                       US_DEBUGP("   Media Status not supported, just report okay\n");
+                       usb_stor_dbg(us, "   Media Status not supported, just report okay\n");
                        srb->result = SAM_STAT_GOOD;
                        sendToTransport = 0;
                }
                break;
 
        case TEST_UNIT_READY:
-               US_DEBUGP("   ATA OUT - SCSIOP_TEST_UNIT_READY\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_TEST_UNIT_READY\n");
 
                if (info->DeviceFlags & DF_MEDIA_STATUS_ENABLED)
                {
@@ -1273,7 +1276,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                        ataCdb->write.CommandByte = ATA_COMMAND_GET_MEDIA_STATUS;
                        isd200_srb_set_bufflen(srb, 0);
                } else {
-                       US_DEBUGP("   Media Status not supported, just report okay\n");
+                       usb_stor_dbg(us, "   Media Status not supported, just report okay\n");
                        srb->result = SAM_STAT_GOOD;
                        sendToTransport = 0;
                }
@@ -1284,7 +1287,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                unsigned long capacity;
                struct read_capacity_data readCapacityData;
 
-               US_DEBUGP("   ATA OUT - SCSIOP_READ_CAPACITY\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_READ_CAPACITY\n");
 
                if (ata_id_has_lba(id))
                        capacity = ata_id_u32(id, ATA_ID_LBA_CAPACITY) - 1;
@@ -1303,7 +1306,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
        break;
 
        case READ_10:
-               US_DEBUGP("   ATA OUT - SCSIOP_READ\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_READ\n");
 
                lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]);
                blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8];
@@ -1335,7 +1338,7 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                break;
 
        case WRITE_10:
-               US_DEBUGP("   ATA OUT - SCSIOP_WRITE\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_WRITE\n");
 
                lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]);
                blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8];
@@ -1367,10 +1370,11 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                break;
 
        case ALLOW_MEDIUM_REMOVAL:
-               US_DEBUGP("   ATA OUT - SCSIOP_MEDIUM_REMOVAL\n");
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_MEDIUM_REMOVAL\n");
 
                if (info->DeviceFlags & DF_REMOVABLE_MEDIA) {
-                       US_DEBUGP("   srb->cmnd[4] = 0x%X\n", srb->cmnd[4]);
+                       usb_stor_dbg(us, "   srb->cmnd[4] = 0x%X\n",
+                                    srb->cmnd[4]);
            
                        ataCdb->generic.SignatureByte0 = info->ConfigData.ATAMajorCommand;
                        ataCdb->generic.SignatureByte1 = info->ConfigData.ATAMinorCommand;
@@ -1380,25 +1384,25 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                                ATA_CMD_MEDIA_LOCK : ATA_CMD_MEDIA_UNLOCK;
                        isd200_srb_set_bufflen(srb, 0);
                } else {
-                       US_DEBUGP("   Not removeable media, just report okay\n");
+                       usb_stor_dbg(us, "   Not removeable media, just report okay\n");
                        srb->result = SAM_STAT_GOOD;
                        sendToTransport = 0;
                }
                break;
 
        case START_STOP:    
-               US_DEBUGP("   ATA OUT - SCSIOP_START_STOP_UNIT\n");
-               US_DEBUGP("   srb->cmnd[4] = 0x%X\n", srb->cmnd[4]);
+               usb_stor_dbg(us, "   ATA OUT - SCSIOP_START_STOP_UNIT\n");
+               usb_stor_dbg(us, "   srb->cmnd[4] = 0x%X\n", srb->cmnd[4]);
 
                if ((srb->cmnd[4] & 0x3) == 0x2) {
-                       US_DEBUGP("   Media Eject\n");
+                       usb_stor_dbg(us, "   Media Eject\n");
                        ataCdb->generic.SignatureByte0 = info->ConfigData.ATAMajorCommand;
                        ataCdb->generic.SignatureByte1 = info->ConfigData.ATAMinorCommand;
                        ataCdb->generic.TransferBlockSize = 0;
                        ataCdb->generic.RegisterSelect = REG_COMMAND;
                        ataCdb->write.CommandByte = ATA_COMMAND_MEDIA_EJECT;
                } else if ((srb->cmnd[4] & 0x3) == 0x1) {
-                       US_DEBUGP("   Get Media Status\n");
+                       usb_stor_dbg(us, "   Get Media Status\n");
                        ataCdb->generic.SignatureByte0 = info->ConfigData.ATAMajorCommand;
                        ataCdb->generic.SignatureByte1 = info->ConfigData.ATAMinorCommand;
                        ataCdb->generic.TransferBlockSize = 1;
@@ -1406,14 +1410,15 @@ static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us,
                        ataCdb->write.CommandByte = ATA_COMMAND_GET_MEDIA_STATUS;
                        isd200_srb_set_bufflen(srb, 0);
                } else {
-                       US_DEBUGP("   Nothing to do, just report okay\n");
+                       usb_stor_dbg(us, "   Nothing to do, just report okay\n");
                        srb->result = SAM_STAT_GOOD;
                        sendToTransport = 0;
                }
                break;
 
        default:
-               US_DEBUGP("Unsupported SCSI command - 0x%X\n", srb->cmnd[0]);
+               usb_stor_dbg(us, "Unsupported SCSI command - 0x%X\n",
+                            srb->cmnd[0]);
                srb->result = DID_ERROR << 16;
                sendToTransport = 0;
                break;
@@ -1470,8 +1475,7 @@ static int isd200_init_info(struct us_data *us)
        if (retStatus == ISD200_GOOD) {
                us->extra = info;
                us->extra_destructor = isd200_free_info_ptrs;
-       } else
-               US_DEBUGP("ERROR - kmalloc failure\n");
+       }
 
        return retStatus;
 }
@@ -1482,19 +1486,19 @@ static int isd200_init_info(struct us_data *us)
 
 static int isd200_Initialization(struct us_data *us)
 {
-       US_DEBUGP("ISD200 Initialization...\n");
+       usb_stor_dbg(us, "ISD200 Initialization...\n");
 
        /* Initialize ISD200 info struct */
 
        if (isd200_init_info(us) == ISD200_ERROR) {
-               US_DEBUGP("ERROR Initializing ISD200 Info struct\n");
+               usb_stor_dbg(us, "ERROR Initializing ISD200 Info struct\n");
        } else {
                /* Get device specific data */
 
                if (isd200_get_inquiry_data(us) != ISD200_GOOD)
-                       US_DEBUGP("ISD200 Initialization Failure\n");
+                       usb_stor_dbg(us, "ISD200 Initialization Failure\n");
                else
-                       US_DEBUGP("ISD200 Initialization complete\n");
+                       usb_stor_dbg(us, "ISD200 Initialization complete\n");
        }
 
        return 0;
@@ -1519,7 +1523,7 @@ static void isd200_ata_command(struct scsi_cmnd *srb, struct us_data *us)
        /* Make sure driver was initialized */
 
        if (us->extra == NULL)
-               US_DEBUGP("ERROR Driver not initialized\n");
+               usb_stor_dbg(us, "ERROR Driver not initialized\n");
 
        scsi_set_resid(srb, 0);
        /* scsi_bufflen might change in protocol translation to ata */