]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/scsi/advansys.c
[SCSI] advansys: Remove private lock
[linux-2.6-omap-h63xx.git] / drivers / scsi / advansys.c
index 0f309e80aaad1c9f80ed57a238fccef81f185d9d..a4091ab8d363d765519ff0efdb3c25adb39026fd 100644 (file)
 #define ADVANSYS_STATS
 
 /* Enable driver tracing. */
-/* #define ADVANSYS_DEBUG */
-
-#define ASC_LIB_VERSION_MAJOR  1
-#define ASC_LIB_VERSION_MINOR  24
-#define ASC_LIB_SERIAL_NUMBER  123
+#undef ADVANSYS_DEBUG
 
 /*
  * Portable Data Types
@@ -554,8 +550,6 @@ typedef struct asc_dvc_cfg {
        uchar isa_dma_speed;
        uchar isa_dma_channel;
        uchar chip_version;
-       ushort lib_serial_no;
-       ushort lib_version;
        ushort mcode_date;
        ushort mcode_version;
        uchar max_tag_qng[ASC_MAX_TID + 1];
@@ -958,13 +952,6 @@ typedef struct asc_mc_saved {
 #define AscReadChipDvcID(port)            (uchar)inp((port)+IOP_REG_ID)
 #define AscWriteChipDvcID(port, data)     outp((port)+IOP_REG_ID, data)
 
-#define ADV_LIB_VERSION_MAJOR  5
-#define ADV_LIB_VERSION_MINOR  14
-
-/*
- * Define Adv Library required special types.
- */
-
 /*
  * Portable Data Types
  *
@@ -1856,7 +1843,6 @@ typedef struct adv_dvc_cfg {
        ushort disc_enable;     /* enable disconnection */
        uchar chip_version;     /* chip version */
        uchar termination;      /* Term. Ctrl. bits 6-5 of SCSI_CFG1 register */
-       ushort lib_version;     /* Adv Library version number */
        ushort control_flag;    /* Microcode Control Flag */
        ushort mcode_date;      /* Microcode date */
        ushort mcode_version;   /* Microcode version */
@@ -2203,10 +2189,7 @@ do { \
          (sizeof(ADV_SG_BLOCK) * \
           ((ADV_MAX_SG_LIST + (NO_OF_SG_PER_BLOCK - 1))/NO_OF_SG_PER_BLOCK))
 
-/* Reference Scsi_Host hostdata */
-#define ASC_BOARDP(host) ((asc_board_t *) &((host)->hostdata))
-
-/* asc_board_t flags */
+/* struct asc_board flags */
 #define ASC_IS_WIDE_BOARD       0x04   /* AdvanSys Wide Board */
 
 #define ASC_NARROW_BOARD(boardp) (((boardp)->flags & ASC_IS_WIDE_BOARD) == 0)
@@ -2244,15 +2227,12 @@ do { \
 #define HOST_BYTE(byte)     ((byte) << 16)
 #define DRIVER_BYTE(byte)   ((byte) << 24)
 
+#define ASC_STATS(shost, counter) ASC_STATS_ADD(shost, counter, 1)
 #ifndef ADVANSYS_STATS
-#define ASC_STATS(shost, counter)
 #define ASC_STATS_ADD(shost, counter, count)
 #else /* ADVANSYS_STATS */
-#define ASC_STATS(shost, counter) \
-    (ASC_BOARDP(shost)->asc_stats.counter++)
-
 #define ASC_STATS_ADD(shost, counter, count) \
-    (ASC_BOARDP(shost)->asc_stats.counter += (count))
+       (((struct asc_board *) shost_priv(shost))->asc_stats.counter += (count))
 #endif /* ADVANSYS_STATS */
 
 #define ASC_CEILING(val, unit) (((val) + ((unit) - 1))/(unit))
@@ -2297,13 +2277,8 @@ do { \
 
 #ifndef ADVANSYS_DEBUG
 
-#define ASC_DBG(lvl, s)
-#define ASC_DBG1(lvl, s, a1)
-#define ASC_DBG2(lvl, s, a1, a2)
-#define ASC_DBG3(lvl, s, a1, a2, a3)
-#define ASC_DBG4(lvl, s, a1, a2, a3, a4)
+#define ASC_DBG(lvl, s...)
 #define ASC_DBG_PRT_SCSI_HOST(lvl, s)
-#define ASC_DBG_PRT_SCSI_CMND(lvl, s)
 #define ASC_DBG_PRT_ASC_SCSI_Q(lvl, scsiqp)
 #define ASC_DBG_PRT_ADV_SCSI_REQ_Q(lvl, scsiqp)
 #define ASC_DBG_PRT_ASC_QDONE_INFO(lvl, qdone)
@@ -2322,40 +2297,11 @@ do { \
  * 2-N: Verbose Tracing
  */
 
-#define ASC_DBG(lvl, s) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            printk(s); \
-        } \
-    }
-
-#define ASC_DBG1(lvl, s, a1) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            printk((s), (a1)); \
-        } \
-    }
-
-#define ASC_DBG2(lvl, s, a1, a2) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            printk((s), (a1), (a2)); \
-        } \
-    }
-
-#define ASC_DBG3(lvl, s, a1, a2, a3) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            printk((s), (a1), (a2), (a3)); \
-        } \
-    }
-
-#define ASC_DBG4(lvl, s, a1, a2, a3, a4) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            printk((s), (a1), (a2), (a3), (a4)); \
-        } \
-    }
+#define ASC_DBG(lvl, format, arg...) {                                 \
+       if (asc_dbglvl >= (lvl))                                        \
+               printk(KERN_DEBUG "%s: %s: " format, DRV_NAME,          \
+                       __FUNCTION__ , ## arg);                         \
+}
 
 #define ASC_DBG_PRT_SCSI_HOST(lvl, s) \
     { \
@@ -2364,13 +2310,6 @@ do { \
         } \
     }
 
-#define ASC_DBG_PRT_SCSI_CMND(lvl, s) \
-    { \
-        if (asc_dbglvl >= (lvl)) { \
-            asc_prt_scsi_cmnd(s); \
-        } \
-    }
-
 #define ASC_DBG_PRT_ASC_SCSI_Q(lvl, scsiqp) \
     { \
         if (asc_dbglvl >= (lvl)) { \
@@ -2475,7 +2414,7 @@ typedef struct adv_req {
  * of the 'Scsi_Host' structure starting at the 'hostdata'
  * field. It is guaranteed to be allocated from DMA-able memory.
  */
-typedef struct asc_board {
+struct asc_board {
        struct device *dev;
        int id;                 /* Board Id */
        uint flags;             /* Board flags */
@@ -2500,7 +2439,6 @@ typedef struct asc_board {
                ADVEEP_38C1600_CONFIG adv_38C1600_eep;  /* 38C1600 EEPROM config. */
        } eep_config;
        ulong last_reset;       /* Saved last reset time */
-       spinlock_t lock;        /* Board spinlock */
        /* /proc/scsi/advansys/[0...] */
        char *prtbuf;           /* /proc print buffer */
 #ifdef ADVANSYS_STATS
@@ -2523,7 +2461,7 @@ typedef struct asc_board {
        ushort bios_version;    /* BIOS Version. */
        ushort bios_codeseg;    /* BIOS Code Segment. */
        ushort bios_codelen;    /* BIOS Code Segment Length. */
-} asc_board_t;
+};
 
 #define adv_dvc_to_board(adv_dvc) container_of(adv_dvc, struct asc_board, \
                                                        dvc_var.adv_dvc_var)
@@ -2538,66 +2476,6 @@ static uchar overrun_buf[ASC_OVERRUN_BSIZE] = { 0 };
 #ifdef ADVANSYS_DEBUG
 static int asc_dbglvl = 3;
 
-/*
- * asc_prt_scsi_host()
- */
-static void asc_prt_scsi_host(struct Scsi_Host *s)
-{
-       asc_board_t *boardp;
-
-       boardp = ASC_BOARDP(s);
-
-       printk("Scsi_Host at addr 0x%lx\n", (ulong)s);
-       printk(" host_busy %u, host_no %d, last_reset %d,\n",
-              s->host_busy, s->host_no, (unsigned)s->last_reset);
-
-       printk(" base 0x%lx, io_port 0x%lx, irq 0x%x,\n",
-              (ulong)s->base, (ulong)s->io_port, boardp->irq);
-
-       printk(" dma_channel %d, this_id %d, can_queue %d,\n",
-              s->dma_channel, s->this_id, s->can_queue);
-
-       printk(" cmd_per_lun %d, sg_tablesize %d, unchecked_isa_dma %d\n",
-              s->cmd_per_lun, s->sg_tablesize, s->unchecked_isa_dma);
-
-       if (ASC_NARROW_BOARD(boardp)) {
-               asc_prt_asc_dvc_var(&ASC_BOARDP(s)->dvc_var.asc_dvc_var);
-               asc_prt_asc_dvc_cfg(&ASC_BOARDP(s)->dvc_cfg.asc_dvc_cfg);
-       } else {
-               asc_prt_adv_dvc_var(&ASC_BOARDP(s)->dvc_var.adv_dvc_var);
-               asc_prt_adv_dvc_cfg(&ASC_BOARDP(s)->dvc_cfg.adv_dvc_cfg);
-       }
-}
-
-/*
- * asc_prt_scsi_cmnd()
- */
-static void asc_prt_scsi_cmnd(struct scsi_cmnd *s)
-{
-       printk("struct scsi_cmnd at addr 0x%lx\n", (ulong)s);
-
-       printk(" host 0x%lx, device 0x%lx, target %u, lun %u, channel %u,\n",
-              (ulong)s->device->host, (ulong)s->device, s->device->id,
-              s->device->lun, s->device->channel);
-
-       asc_prt_hex(" CDB", s->cmnd, s->cmd_len);
-
-       printk("sc_data_direction %u, resid %d\n",
-              s->sc_data_direction, s->resid);
-
-       printk(" use_sg %u, sglist_len %u\n", s->use_sg, s->sglist_len);
-
-       printk(" serial_number 0x%x, retries %d, allowed %d\n",
-              (unsigned)s->serial_number, s->retries, s->allowed);
-
-       printk(" timeout_per_command %d\n", s->timeout_per_command);
-
-       printk(" scsi_done 0x%p, done 0x%p, host_scribble 0x%p, result 0x%x\n",
-               s->scsi_done, s->done, s->host_scribble, s->result);
-
-       printk(" tag %u, pid %u\n", (unsigned)s->tag, (unsigned)s->pid);
-}
-
 /*
  * asc_prt_asc_dvc_var()
  */
@@ -2645,18 +2523,149 @@ static void asc_prt_asc_dvc_cfg(ASC_DVC_CFG *h)
        printk(" disc_enable 0x%x, sdtr_enable 0x%x,\n",
               h->disc_enable, h->sdtr_enable);
 
-       printk
-           (" chip_scsi_id %d, isa_dma_speed %d, isa_dma_channel %d, chip_version %d,\n",
-            h->chip_scsi_id, h->isa_dma_speed, h->isa_dma_channel,
-            h->chip_version);
+       printk(" chip_scsi_id %d, isa_dma_speed %d, isa_dma_channel %d, "
+               "chip_version %d,\n", h->chip_scsi_id, h->isa_dma_speed,
+               h->isa_dma_channel, h->chip_version);
 
-       printk
-           (" pci_device_id %d, lib_serial_no %u, lib_version %u, mcode_date 0x%x,\n",
-            to_pci_dev(h->dev)->device, h->lib_serial_no, h->lib_version,
-            h->mcode_date);
+       printk(" mcode_date 0x%x, mcode_version %d, overrun_buf 0x%p\n",
+               h->mcode_date, h->mcode_version, h->overrun_buf);
+}
+
+/*
+ * asc_prt_adv_dvc_var()
+ *
+ * Display an ADV_DVC_VAR structure.
+ */
+static void asc_prt_adv_dvc_var(ADV_DVC_VAR *h)
+{
+       printk(" ADV_DVC_VAR at addr 0x%lx\n", (ulong)h);
+
+       printk("  iop_base 0x%lx, err_code 0x%x, ultra_able 0x%x\n",
+              (ulong)h->iop_base, h->err_code, (unsigned)h->ultra_able);
+
+       printk("  sdtr_able 0x%x, wdtr_able 0x%x\n",
+              (unsigned)h->sdtr_able, (unsigned)h->wdtr_able);
 
-       printk(" mcode_version %d, overrun_buf 0x%lx\n",
-              h->mcode_version, (ulong)h->overrun_buf);
+       printk("  start_motor 0x%x, scsi_reset_wait 0x%x\n",
+              (unsigned)h->start_motor, (unsigned)h->scsi_reset_wait);
+
+       printk("  max_host_qng %u, max_dvc_qng %u, carr_freelist 0x%lxn\n",
+              (unsigned)h->max_host_qng, (unsigned)h->max_dvc_qng,
+              (ulong)h->carr_freelist);
+
+       printk("  icq_sp 0x%lx, irq_sp 0x%lx\n",
+              (ulong)h->icq_sp, (ulong)h->irq_sp);
+
+       printk("  no_scam 0x%x, tagqng_able 0x%x\n",
+              (unsigned)h->no_scam, (unsigned)h->tagqng_able);
+
+       printk("  chip_scsi_id 0x%x, cfg 0x%lx\n",
+              (unsigned)h->chip_scsi_id, (ulong)h->cfg);
+}
+
+/*
+ * asc_prt_adv_dvc_cfg()
+ *
+ * Display an ADV_DVC_CFG structure.
+ */
+static void asc_prt_adv_dvc_cfg(ADV_DVC_CFG *h)
+{
+       printk(" ADV_DVC_CFG at addr 0x%lx\n", (ulong)h);
+
+       printk("  disc_enable 0x%x, termination 0x%x\n",
+              h->disc_enable, h->termination);
+
+       printk("  chip_version 0x%x, mcode_date 0x%x\n",
+              h->chip_version, h->mcode_date);
+
+       printk("  mcode_version 0x%x, control_flag 0x%x\n",
+              h->mcode_version, h->control_flag);
+}
+
+/*
+ * asc_prt_scsi_host()
+ */
+static void asc_prt_scsi_host(struct Scsi_Host *s)
+{
+       struct asc_board *boardp = shost_priv(s);
+
+       printk("Scsi_Host at addr 0x%p, device %s\n", s, boardp->dev->bus_id);
+       printk(" host_busy %u, host_no %d, last_reset %d,\n",
+              s->host_busy, s->host_no, (unsigned)s->last_reset);
+
+       printk(" base 0x%lx, io_port 0x%lx, irq %d,\n",
+              (ulong)s->base, (ulong)s->io_port, boardp->irq);
+
+       printk(" dma_channel %d, this_id %d, can_queue %d,\n",
+              s->dma_channel, s->this_id, s->can_queue);
+
+       printk(" cmd_per_lun %d, sg_tablesize %d, unchecked_isa_dma %d\n",
+              s->cmd_per_lun, s->sg_tablesize, s->unchecked_isa_dma);
+
+       if (ASC_NARROW_BOARD(boardp)) {
+               asc_prt_asc_dvc_var(&boardp->dvc_var.asc_dvc_var);
+               asc_prt_asc_dvc_cfg(&boardp->dvc_cfg.asc_dvc_cfg);
+       } else {
+               asc_prt_adv_dvc_var(&boardp->dvc_var.adv_dvc_var);
+               asc_prt_adv_dvc_cfg(&boardp->dvc_cfg.adv_dvc_cfg);
+       }
+}
+
+/*
+ * asc_prt_hex()
+ *
+ * Print hexadecimal output in 4 byte groupings 32 bytes
+ * or 8 double-words per line.
+ */
+static void asc_prt_hex(char *f, uchar *s, int l)
+{
+       int i;
+       int j;
+       int k;
+       int m;
+
+       printk("%s: (%d bytes)\n", f, l);
+
+       for (i = 0; i < l; i += 32) {
+
+               /* Display a maximum of 8 double-words per line. */
+               if ((k = (l - i) / 4) >= 8) {
+                       k = 8;
+                       m = 0;
+               } else {
+                       m = (l - i) % 4;
+               }
+
+               for (j = 0; j < k; j++) {
+                       printk(" %2.2X%2.2X%2.2X%2.2X",
+                              (unsigned)s[i + (j * 4)],
+                              (unsigned)s[i + (j * 4) + 1],
+                              (unsigned)s[i + (j * 4) + 2],
+                              (unsigned)s[i + (j * 4) + 3]);
+               }
+
+               switch (m) {
+               case 0:
+               default:
+                       break;
+               case 1:
+                       printk(" %2.2X", (unsigned)s[i + (j * 4)]);
+                       break;
+               case 2:
+                       printk(" %2.2X%2.2X",
+                              (unsigned)s[i + (j * 4)],
+                              (unsigned)s[i + (j * 4) + 1]);
+                       break;
+               case 3:
+                       printk(" %2.2X%2.2X%2.2X",
+                              (unsigned)s[i + (j * 4) + 1],
+                              (unsigned)s[i + (j * 4) + 2],
+                              (unsigned)s[i + (j * 4) + 3]);
+                       break;
+               }
+
+               printk("\n");
+       }
 }
 
 /*
@@ -2713,57 +2722,26 @@ static void asc_prt_asc_qdone_info(ASC_QDONE_INFO *q)
 }
 
 /*
- * asc_prt_adv_dvc_var()
- *
- * Display an ADV_DVC_VAR structure.
- */
-static void asc_prt_adv_dvc_var(ADV_DVC_VAR *h)
-{
-       printk(" ADV_DVC_VAR at addr 0x%lx\n", (ulong)h);
-
-       printk("  iop_base 0x%lx, err_code 0x%x, ultra_able 0x%x\n",
-              (ulong)h->iop_base, h->err_code, (unsigned)h->ultra_able);
-
-       printk("  isr_callback 0x%lx, sdtr_able 0x%x, wdtr_able 0x%x\n",
-              (ulong)h->isr_callback, (unsigned)h->sdtr_able,
-              (unsigned)h->wdtr_able);
-
-       printk("  start_motor 0x%x, scsi_reset_wait 0x%x\n",
-              (unsigned)h->start_motor, (unsigned)h->scsi_reset_wait);
-
-       printk("  max_host_qng %u, max_dvc_qng %u, carr_freelist 0x%lxn\n",
-              (unsigned)h->max_host_qng, (unsigned)h->max_dvc_qng,
-              (ulong)h->carr_freelist);
-
-       printk("  icq_sp 0x%lx, irq_sp 0x%lx\n",
-              (ulong)h->icq_sp, (ulong)h->irq_sp);
-
-       printk("  no_scam 0x%x, tagqng_able 0x%x\n",
-              (unsigned)h->no_scam, (unsigned)h->tagqng_able);
-
-       printk("  chip_scsi_id 0x%x, cfg 0x%lx\n",
-              (unsigned)h->chip_scsi_id, (ulong)h->cfg);
-}
-
-/*
- * asc_prt_adv_dvc_cfg()
+ * asc_prt_adv_sgblock()
  *
- * Display an ADV_DVC_CFG structure.
+ * Display an ADV_SG_BLOCK structure.
  */
-static void asc_prt_adv_dvc_cfg(ADV_DVC_CFG *h)
+static void asc_prt_adv_sgblock(int sgblockno, ADV_SG_BLOCK *b)
 {
-       printk(" ADV_DVC_CFG at addr 0x%lx\n", (ulong)h);
-
-       printk("  disc_enable 0x%x, termination 0x%x\n",
-              h->disc_enable, h->termination);
-
-       printk("  chip_version 0x%x, mcode_date 0x%x\n",
-              h->chip_version, h->mcode_date);
-
-       printk("  mcode_version 0x%x, pci_device_id 0x%x, lib_version %u\n",
-              h->mcode_version, to_pci_dev(h->dev)->device, h->lib_version);
+       int i;
 
-       printk("  control_flag 0x%x\n", h->control_flag);
+       printk(" ASC_SG_BLOCK at addr 0x%lx (sgblockno %d)\n",
+              (ulong)b, sgblockno);
+       printk("  sg_cnt %u, sg_ptr 0x%lx\n",
+              b->sg_cnt, (ulong)le32_to_cpu(b->sg_ptr));
+       BUG_ON(b->sg_cnt > NO_OF_SG_PER_BLOCK);
+       if (b->sg_ptr != 0)
+               BUG_ON(b->sg_cnt != NO_OF_SG_PER_BLOCK);
+       for (i = 0; i < b->sg_cnt; i++) {
+               printk("  [%u]: sg_addr 0x%lx, sg_count 0x%lx\n",
+                      i, (ulong)b->sg_list[i].sg_addr,
+                      (ulong)b->sg_list[i].sg_count);
+       }
 }
 
 /*
@@ -2820,86 +2798,6 @@ static void asc_prt_adv_scsi_req_q(ADV_SCSI_REQ_Q *q)
                }
        }
 }
-
-/*
- * asc_prt_adv_sgblock()
- *
- * Display an ADV_SG_BLOCK structure.
- */
-static void asc_prt_adv_sgblock(int sgblockno, ADV_SG_BLOCK *b)
-{
-       int i;
-
-       printk(" ASC_SG_BLOCK at addr 0x%lx (sgblockno %d)\n",
-              (ulong)b, sgblockno);
-       printk("  sg_cnt %u, sg_ptr 0x%lx\n",
-              b->sg_cnt, (ulong)le32_to_cpu(b->sg_ptr));
-       BUG_ON(b->sg_cnt > NO_OF_SG_PER_BLOCK);
-       if (b->sg_ptr != 0)
-               BUG_ON(b->sg_cnt != NO_OF_SG_PER_BLOCK);
-       for (i = 0; i < b->sg_cnt; i++) {
-               printk("  [%u]: sg_addr 0x%lx, sg_count 0x%lx\n",
-                      i, (ulong)b->sg_list[i].sg_addr,
-                      (ulong)b->sg_list[i].sg_count);
-       }
-}
-
-/*
- * asc_prt_hex()
- *
- * Print hexadecimal output in 4 byte groupings 32 bytes
- * or 8 double-words per line.
- */
-static void asc_prt_hex(char *f, uchar *s, int l)
-{
-       int i;
-       int j;
-       int k;
-       int m;
-
-       printk("%s: (%d bytes)\n", f, l);
-
-       for (i = 0; i < l; i += 32) {
-
-               /* Display a maximum of 8 double-words per line. */
-               if ((k = (l - i) / 4) >= 8) {
-                       k = 8;
-                       m = 0;
-               } else {
-                       m = (l - i) % 4;
-               }
-
-               for (j = 0; j < k; j++) {
-                       printk(" %2.2X%2.2X%2.2X%2.2X",
-                              (unsigned)s[i + (j * 4)],
-                              (unsigned)s[i + (j * 4) + 1],
-                              (unsigned)s[i + (j * 4) + 2],
-                              (unsigned)s[i + (j * 4) + 3]);
-               }
-
-               switch (m) {
-               case 0:
-               default:
-                       break;
-               case 1:
-                       printk(" %2.2X", (unsigned)s[i + (j * 4)]);
-                       break;
-               case 2:
-                       printk(" %2.2X%2.2X",
-                              (unsigned)s[i + (j * 4)],
-                              (unsigned)s[i + (j * 4) + 1]);
-                       break;
-               case 3:
-                       printk(" %2.2X%2.2X%2.2X",
-                              (unsigned)s[i + (j * 4) + 1],
-                              (unsigned)s[i + (j * 4) + 2],
-                              (unsigned)s[i + (j * 4) + 3]);
-                       break;
-               }
-
-               printk("\n");
-       }
-}
 #endif /* ADVANSYS_DEBUG */
 
 /*
@@ -2914,16 +2812,15 @@ static void asc_prt_hex(char *f, uchar *s, int l)
 static const char *advansys_info(struct Scsi_Host *shost)
 {
        static char info[ASC_INFO_SIZE];
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        ASC_DVC_VAR *asc_dvc_varp;
        ADV_DVC_VAR *adv_dvc_varp;
        char *busname;
        char *widename = NULL;
 
-       boardp = ASC_BOARDP(shost);
        if (ASC_NARROW_BOARD(boardp)) {
                asc_dvc_varp = &boardp->dvc_var.asc_dvc_var;
-               ASC_DBG(1, "advansys_info: begin\n");
+               ASC_DBG(1, "begin\n");
                if (asc_dvc_varp->bus_type & ASC_IS_ISA) {
                        if ((asc_dvc_varp->bus_type & ASC_IS_ISAPNP) ==
                            ASC_IS_ISAPNP) {
@@ -2983,7 +2880,7 @@ static const char *advansys_info(struct Scsi_Host *shost)
                        (ulong)adv_dvc_varp->iop_base + boardp->asc_n_io_port - 1, boardp->irq);
        }
        BUG_ON(strlen(info) >= ASC_INFO_SIZE);
-       ASC_DBG(1, "advansys_info: end\n");
+       ASC_DBG(1, "end\n");
        return info;
 }
 
@@ -3032,14 +2929,13 @@ static int asc_prt_line(char *buf, int buflen, char *fmt, ...)
  */
 static int asc_prt_board_devices(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        int leftlen;
        int totlen;
        int len;
        int chip_scsi_id;
        int i;
 
-       boardp = ASC_BOARDP(shost);
        leftlen = cplen;
        totlen = len = 0;
 
@@ -3073,13 +2969,12 @@ static int asc_prt_board_devices(struct Scsi_Host *shost, char *cp, int cplen)
  */
 static int asc_prt_adv_bios(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        int leftlen;
        int totlen;
        int len;
        ushort major, minor, letter;
 
-       boardp = ASC_BOARDP(shost);
        leftlen = cplen;
        totlen = len = 0;
 
@@ -3239,7 +3134,7 @@ static int asc_get_eeprom_string(ushort *serialnum, uchar *cp)
  */
 static int asc_prt_asc_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        ASC_DVC_VAR *asc_dvc_varp;
        int leftlen;
        int totlen;
@@ -3251,7 +3146,6 @@ static int asc_prt_asc_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen
 #endif /* CONFIG_ISA */
        uchar serialstr[13];
 
-       boardp = ASC_BOARDP(shost);
        asc_dvc_varp = &boardp->dvc_var.asc_dvc_var;
        ep = &boardp->eep_config.asc_eep;
 
@@ -3373,7 +3267,7 @@ static int asc_prt_asc_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen
  */
 static int asc_prt_adv_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        ADV_DVC_VAR *adv_dvc_varp;
        int leftlen;
        int totlen;
@@ -3388,7 +3282,6 @@ static int asc_prt_adv_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen
        ushort *wordp;
        ushort sdtr_speed = 0;
 
-       boardp = ASC_BOARDP(shost);
        adv_dvc_varp = &boardp->dvc_var.adv_dvc_var;
        if (adv_dvc_varp->chip_type == ADV_CHIP_ASC3550) {
                ep_3550 = &boardp->eep_config.adv_3550_eep;
@@ -3660,14 +3553,12 @@ static int asc_prt_adv_board_eeprom(struct Scsi_Host *shost, char *cp, int cplen
  */
 static int asc_prt_driver_conf(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        int leftlen;
        int totlen;
        int len;
        int chip_scsi_id;
 
-       boardp = ASC_BOARDP(shost);
-
        leftlen = cplen;
        totlen = len = 0;
 
@@ -3724,7 +3615,7 @@ static int asc_prt_driver_conf(struct Scsi_Host *shost, char *cp, int cplen)
  */
 static int asc_prt_asc_board_info(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        int chip_scsi_id;
        int leftlen;
        int totlen;
@@ -3734,7 +3625,6 @@ static int asc_prt_asc_board_info(struct Scsi_Host *shost, char *cp, int cplen)
        int i;
        int renegotiate = 0;
 
-       boardp = ASC_BOARDP(shost);
        v = &boardp->dvc_var.asc_dvc_var;
        c = &boardp->dvc_cfg.asc_dvc_cfg;
        chip_scsi_id = c->chip_scsi_id;
@@ -3747,15 +3637,10 @@ static int asc_prt_asc_board_info(struct Scsi_Host *shost, char *cp, int cplen)
                           shost->host_no);
        ASC_PRT_NEXT();
 
-       len = asc_prt_line(cp, leftlen,
-                          " chip_version %u, lib_version 0x%x, lib_serial_no %u, mcode_date 0x%x\n",
-                          c->chip_version, c->lib_version, c->lib_serial_no,
-                          c->mcode_date);
-       ASC_PRT_NEXT();
-
-       len = asc_prt_line(cp, leftlen,
-                          " mcode_version 0x%x, err_code %u\n",
-                          c->mcode_version, v->err_code);
+       len = asc_prt_line(cp, leftlen, " chip_version %u, mcode_date 0x%x, "
+                          "mcode_version 0x%x, err_code %u\n",
+                          c->chip_version, c->mcode_date, c->mcode_version,
+                          v->err_code);
        ASC_PRT_NEXT();
 
        /* Current number of commands waiting for the host. */
@@ -3912,7 +3797,7 @@ static int asc_prt_asc_board_info(struct Scsi_Host *shost, char *cp, int cplen)
  */
 static int asc_prt_adv_board_info(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        int leftlen;
        int totlen;
        int len;
@@ -3929,7 +3814,6 @@ static int asc_prt_adv_board_info(struct Scsi_Host *shost, char *cp, int cplen)
        ushort period = 0;
        int renegotiate = 0;
 
-       boardp = ASC_BOARDP(shost);
        v = &boardp->dvc_var.adv_dvc_var;
        c = &boardp->dvc_cfg.adv_dvc_cfg;
        iop_base = v->iop_base;
@@ -3951,10 +3835,9 @@ static int asc_prt_adv_board_info(struct Scsi_Host *shost, char *cp, int cplen)
                           v->err_code);
        ASC_PRT_NEXT();
 
-       len = asc_prt_line(cp, leftlen,
-                          " chip_version %u, lib_version 0x%x, mcode_date 0x%x, mcode_version 0x%x\n",
-                          c->chip_version, c->lib_version, c->mcode_date,
-                          c->mcode_version);
+       len = asc_prt_line(cp, leftlen, " chip_version %u, mcode_date 0x%x, "
+                          "mcode_version 0x%x\n", c->chip_version,
+                          c->mcode_date, c->mcode_version);
        ASC_PRT_NEXT();
 
        AdvReadWordLram(iop_base, ASC_MC_TAGQNG_ABLE, tagqng_able);
@@ -4160,12 +4043,12 @@ asc_proc_copy(off_t advoffset, off_t offset, char *curbuf, int leftlen,
 {
        int cnt = 0;
 
-       ASC_DBG3(2, "asc_proc_copy: offset %d, advoffset %d, cplen %d\n",
+       ASC_DBG(2, "offset %d, advoffset %d, cplen %d\n",
                 (unsigned)offset, (unsigned)advoffset, cplen);
        if (offset <= advoffset) {
                /* Read offset below current offset, copy everything. */
                cnt = min(cplen, leftlen);
-               ASC_DBG3(2, "asc_proc_copy: curbuf 0x%lx, cp 0x%lx, cnt %d\n",
+               ASC_DBG(2, "curbuf 0x%lx, cp 0x%lx, cnt %d\n",
                         (ulong)curbuf, (ulong)cp, cnt);
                memcpy(curbuf, cp, cnt);
        } else if (offset < advoffset + cplen) {
@@ -4173,7 +4056,7 @@ asc_proc_copy(off_t advoffset, off_t offset, char *curbuf, int leftlen,
                cnt = (advoffset + cplen) - offset;
                cp = (cp + cplen) - cnt;
                cnt = min(cnt, leftlen);
-               ASC_DBG3(2, "asc_proc_copy: curbuf 0x%lx, cp 0x%lx, cnt %d\n",
+               ASC_DBG(2, "curbuf 0x%lx, cp 0x%lx, cnt %d\n",
                         (ulong)curbuf, (ulong)cp, cnt);
                memcpy(curbuf, cp, cnt);
        }
@@ -4192,17 +4075,11 @@ asc_proc_copy(off_t advoffset, off_t offset, char *curbuf, int leftlen,
  */
 static int asc_prt_board_stats(struct Scsi_Host *shost, char *cp, int cplen)
 {
-       int leftlen;
-       int totlen;
-       int len;
-       struct asc_stats *s;
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
+       struct asc_stats *s = &boardp->asc_stats;
 
-       leftlen = cplen;
-       totlen = len = 0;
-
-       boardp = ASC_BOARDP(shost);
-       s = &boardp->asc_stats;
+       int leftlen = cplen;
+       int len, totlen = 0;
 
        len = asc_prt_line(cp, leftlen,
                           "\nLinux Driver Statistics for AdvanSys SCSI Host %d:\n",
@@ -4309,7 +4186,7 @@ static int
 advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
                   off_t offset, int length, int inout)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        char *cp;
        int cplen;
        int cnt;
@@ -4318,21 +4195,18 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        char *curbuf;
        off_t advoffset;
 
-       ASC_DBG(1, "advansys_proc_info: begin\n");
+       ASC_DBG(1, "begin\n");
 
        /*
         * User write not supported.
         */
-       if (inout == TRUE) {
-               return (-ENOSYS);
-       }
+       if (inout == TRUE)
+               return -ENOSYS;
 
        /*
         * User read of /proc/scsi/advansys/[0...] file.
         */
 
-       boardp = ASC_BOARDP(shost);
-
        /* Copy read data starting at the beginning of the buffer. */
        *start = buffer;
        curbuf = buffer;
@@ -4353,7 +4227,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
@@ -4371,7 +4245,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
                totcnt += cnt;
                leftlen -= cnt;
                if (leftlen == 0) {
-                       ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+                       ASC_DBG(1, "totcnt %d\n", totcnt);
                        return totcnt;
                }
                advoffset += cplen;
@@ -4388,7 +4262,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
@@ -4408,7 +4282,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
@@ -4424,7 +4298,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
@@ -4441,7 +4315,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
@@ -4463,13 +4337,13 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
        totcnt += cnt;
        leftlen -= cnt;
        if (leftlen == 0) {
-               ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+               ASC_DBG(1, "totcnt %d\n", totcnt);
                return totcnt;
        }
        advoffset += cplen;
        curbuf += cnt;
 
-       ASC_DBG1(1, "advansys_proc_info: totcnt %d\n", totcnt);
+       ASC_DBG(1, "totcnt %d\n", totcnt);
 
        return totcnt;
 }
@@ -4477,7 +4351,7 @@ advansys_proc_info(struct Scsi_Host *shost, char *buffer, char **start,
 
 static void asc_scsi_done(struct scsi_cmnd *scp)
 {
-       struct asc_board *boardp = ASC_BOARDP(scp->device->host);
+       struct asc_board *boardp = shost_priv(scp->device->host);
 
        if (scp->use_sg)
                dma_unmap_sg(boardp->dev,
@@ -4581,11 +4455,10 @@ static int AscFindSignature(PortAddr iop_base)
 {
        ushort sig_word;
 
-       ASC_DBG2(1, "AscFindSignature: AscGetChipSignatureByte(0x%x) 0x%x\n",
+       ASC_DBG(1, "AscGetChipSignatureByte(0x%x) 0x%x\n",
                 iop_base, AscGetChipSignatureByte(iop_base));
        if (AscGetChipSignatureByte(iop_base) == (uchar)ASC_1000_ID1B) {
-               ASC_DBG2(1,
-                        "AscFindSignature: AscGetChipSignatureWord(0x%x) 0x%x\n",
+               ASC_DBG(1, "AscGetChipSignatureWord(0x%x) 0x%x\n",
                         iop_base, AscGetChipSignatureWord(iop_base));
                sig_word = AscGetChipSignatureWord(iop_base);
                if ((sig_word == (ushort)ASC_1000_ID0W) ||
@@ -4836,18 +4709,17 @@ AscLoadMicroCode(PortAddr iop_base,
        AscMemWordCopyPtrToLram(iop_base, s_addr, mcode_buf, mcode_word_size);
 
        chksum = AscMemSumLramWord(iop_base, s_addr, mcode_word_size);
-       ASC_DBG1(1, "AscLoadMicroCode: chksum 0x%lx\n", (ulong)chksum);
+       ASC_DBG(1, "chksum 0x%lx\n", (ulong)chksum);
        mcode_chksum = (ushort)AscMemSumLramWord(iop_base,
                                                 (ushort)ASC_CODE_SEC_BEG,
                                                 (ushort)((mcode_size -
                                                           s_addr - (ushort)
                                                           ASC_CODE_SEC_BEG) /
                                                          2));
-       ASC_DBG1(1, "AscLoadMicroCode: mcode_chksum 0x%lx\n",
-                (ulong)mcode_chksum);
+       ASC_DBG(1, "mcode_chksum 0x%lx\n", (ulong)mcode_chksum);
        AscWriteLramWord(iop_base, ASCV_MCODE_CHKSUM_W, mcode_chksum);
        AscWriteLramWord(iop_base, ASCV_MCODE_SIZE_W, mcode_size);
-       return (chksum);
+       return chksum;
 }
 
 /* Microcode buffer is kept after initialization for error recovery. */
@@ -6562,8 +6434,7 @@ static ushort AscInitAsc1000Driver(ASC_DVC_VAR *asc_dvc)
        warn_code |= AscInitLram(asc_dvc);
        if (asc_dvc->err_code != 0)
                return UW_ERR;
-       ASC_DBG1(1, "AscInitAsc1000Driver: _asc_mcode_chksum 0x%lx\n",
-                (ulong)_asc_mcode_chksum);
+       ASC_DBG(1, "_asc_mcode_chksum 0x%lx\n", (ulong)_asc_mcode_chksum);
        if (AscLoadMicroCode(iop_base, 0, _asc_mcode_buf,
                             _asc_mcode_size) != _asc_mcode_chksum) {
                asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM;
@@ -6664,7 +6535,7 @@ DvcGetPhyAddr(ADV_DVC_VAR *asc_dvc, ADV_SCSI_REQ_Q *scsiq,
 {
        ADV_PADDR paddr = virt_to_bus(vaddr);
 
-       ASC_DBG4(4, "DvcGetPhyAddr: vaddr 0x%p, lenp 0x%p *lenp %lu, paddr 0x%lx\n",
+       ASC_DBG(4, "vaddr 0x%p, lenp 0x%p *lenp %lu, paddr 0x%lx\n",
                 vaddr, lenp, (ulong)*((ulong *)lenp), (ulong)paddr);
 
        return paddr;
@@ -8342,8 +8213,7 @@ static void adv_async_callback(ADV_DVC_VAR *adv_dvc_varp, uchar code)
                /*
                 * The firmware detected a SCSI Bus reset.
                 */
-               ASC_DBG(0,
-                       "adv_async_callback: ADV_ASYNC_SCSI_BUS_RESET_DET\n");
+               ASC_DBG(0, "ADV_ASYNC_SCSI_BUS_RESET_DET\n");
                break;
 
        case ADV_ASYNC_RDMA_FAILURE:
@@ -8352,7 +8222,7 @@ static void adv_async_callback(ADV_DVC_VAR *adv_dvc_varp, uchar code)
                 * possibly the chip if it is unresponsive. Log the error
                 * with a unique code.
                 */
-               ASC_DBG(0, "adv_async_callback: ADV_ASYNC_RDMA_FAILURE\n");
+               ASC_DBG(0, "ADV_ASYNC_RDMA_FAILURE\n");
                AdvResetChipAndSB(adv_dvc_varp);
                break;
 
@@ -8360,11 +8230,11 @@ static void adv_async_callback(ADV_DVC_VAR *adv_dvc_varp, uchar code)
                /*
                 * Host generated SCSI bus reset occurred.
                 */
-               ASC_DBG(0, "adv_async_callback: ADV_HOST_SCSI_BUS_RESET\n");
+               ASC_DBG(0, "ADV_HOST_SCSI_BUS_RESET\n");
                break;
 
        default:
-               ASC_DBG1(0, "DvcAsyncCallBack: unknown code 0x%x\n", code);
+               ASC_DBG(0, "unknown code 0x%x\n", code);
                break;
        }
 }
@@ -8376,14 +8246,14 @@ static void adv_async_callback(ADV_DVC_VAR *adv_dvc_varp, uchar code)
  */
 static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp;
        adv_req_t *reqp;
        adv_sgblk_t *sgblkp;
        struct scsi_cmnd *scp;
        struct Scsi_Host *shost;
        ADV_DCNT resid_cnt;
 
-       ASC_DBG2(1, "adv_isr_callback: adv_dvc_varp 0x%lx, scsiqp 0x%lx\n",
+       ASC_DBG(1, "adv_dvc_varp 0x%lx, scsiqp 0x%lx\n",
                 (ulong)adv_dvc_varp, (ulong)scsiqp);
        ASC_DBG_PRT_ADV_SCSI_REQ_Q(2, scsiqp);
 
@@ -8393,7 +8263,7 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
         * completed ADV_SCSI_REQ_Q structure.
         */
        reqp = (adv_req_t *)ADV_U32_TO_VADDR(scsiqp->srb_ptr);
-       ASC_DBG1(1, "adv_isr_callback: reqp 0x%lx\n", (ulong)reqp);
+       ASC_DBG(1, "reqp 0x%lx\n", (ulong)reqp);
        if (reqp == NULL) {
                ASC_PRINT("adv_isr_callback: reqp is NULL\n");
                return;
@@ -8408,7 +8278,7 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
         * determined.
         */
        scp = reqp->cmndp;
-       ASC_DBG1(1, "adv_isr_callback: scp 0x%lx\n", (ulong)scp);
+       ASC_DBG(1, "scp 0x%p\n", scp);
        if (scp == NULL) {
                ASC_PRINT
                    ("adv_isr_callback: scp is NULL; adv_req_t dropped.\n");
@@ -8418,9 +8288,9 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
 
        shost = scp->device->host;
        ASC_STATS(shost, callback);
-       ASC_DBG1(1, "adv_isr_callback: shost 0x%lx\n", (ulong)shost);
+       ASC_DBG(1, "shost 0x%p\n", shost);
 
-       boardp = ASC_BOARDP(shost);
+       boardp = shost_priv(shost);
        BUG_ON(adv_dvc_varp != &boardp->dvc_var.adv_dvc_var);
 
        /*
@@ -8428,7 +8298,7 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
         */
        switch (scsiqp->done_status) {
        case QD_NO_ERROR:
-               ASC_DBG(2, "adv_isr_callback: QD_NO_ERROR\n");
+               ASC_DBG(2, "QD_NO_ERROR\n");
                scp->result = 0;
 
                /*
@@ -8440,20 +8310,18 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
                resid_cnt = le32_to_cpu(scsiqp->data_cnt);
                if (scp->request_bufflen != 0 && resid_cnt != 0 &&
                    resid_cnt <= scp->request_bufflen) {
-                       ASC_DBG1(1,
-                                "adv_isr_callback: underrun condition %lu bytes\n",
+                       ASC_DBG(1, "underrun condition %lu bytes\n",
                                 (ulong)resid_cnt);
                        scp->resid = resid_cnt;
                }
                break;
 
        case QD_WITH_ERROR:
-               ASC_DBG(2, "adv_isr_callback: QD_WITH_ERROR\n");
+               ASC_DBG(2, "QD_WITH_ERROR\n");
                switch (scsiqp->host_status) {
                case QHSTA_NO_ERROR:
                        if (scsiqp->scsi_status == SAM_STAT_CHECK_CONDITION) {
-                               ASC_DBG(2,
-                                       "adv_isr_callback: SAM_STAT_CHECK_CONDITION\n");
+                               ASC_DBG(2, "SAM_STAT_CHECK_CONDITION\n");
                                ASC_DBG_PRT_SENSE(2, scp->sense_buffer,
                                                  sizeof(scp->sense_buffer));
                                /*
@@ -8477,22 +8345,20 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
 
                default:
                        /* Some other QHSTA error occurred. */
-                       ASC_DBG1(1, "adv_isr_callback: host_status 0x%x\n",
-                                scsiqp->host_status);
+                       ASC_DBG(1, "host_status 0x%x\n", scsiqp->host_status);
                        scp->result = HOST_BYTE(DID_BAD_TARGET);
                        break;
                }
                break;
 
        case QD_ABORTED_BY_HOST:
-               ASC_DBG(1, "adv_isr_callback: QD_ABORTED_BY_HOST\n");
+               ASC_DBG(1, "QD_ABORTED_BY_HOST\n");
                scp->result =
                    HOST_BYTE(DID_ABORT) | STATUS_BYTE(scsiqp->scsi_status);
                break;
 
        default:
-               ASC_DBG1(1, "adv_isr_callback: done_status 0x%x\n",
-                        scsiqp->done_status);
+               ASC_DBG(1, "done_status 0x%x\n", scsiqp->done_status);
                scp->result =
                    HOST_BYTE(DID_ERROR) | STATUS_BYTE(scsiqp->scsi_status);
                break;
@@ -8530,7 +8396,7 @@ static void adv_isr_callback(ADV_DVC_VAR *adv_dvc_varp, ADV_SCSI_REQ_Q *scsiqp)
        reqp->next_reqp = boardp->adv_reqp;
        boardp->adv_reqp = reqp;
 
-       ASC_DBG(1, "adv_isr_callback: done\n");
+       ASC_DBG(1, "done\n");
 
        return;
 }
@@ -8825,7 +8691,7 @@ static int AscIsrChipHalted(ASC_DVC_VAR *asc_dvc)
        uchar cur_dvc_qng;
        uchar asyn_sdtr;
        uchar scsi_status;
-       asc_board_t *boardp;
+       struct asc_board *boardp;
 
        BUG_ON(!asc_dvc->drv_ptr);
        boardp = asc_dvc->drv_ptr;
@@ -9346,12 +9212,11 @@ _AscCopyLramScsiDoneQ(PortAddr iop_base,
  */
 static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp;
        struct scsi_cmnd *scp;
        struct Scsi_Host *shost;
 
-       ASC_DBG2(1, "asc_isr_callback: asc_dvc_varp 0x%lx, qdonep 0x%lx\n",
-                (ulong)asc_dvc_varp, (ulong)qdonep);
+       ASC_DBG(1, "asc_dvc_varp 0x%p, qdonep 0x%p\n", asc_dvc_varp, qdonep);
        ASC_DBG_PRT_ASC_QDONE_INFO(2, qdonep);
 
        /*
@@ -9359,7 +9224,7 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
         * command that has been completed.
         */
        scp = (struct scsi_cmnd *)ASC_U32_TO_VADDR(qdonep->d2.srb_ptr);
-       ASC_DBG1(1, "asc_isr_callback: scp 0x%lx\n", (ulong)scp);
+       ASC_DBG(1, "scp 0x%p\n", scp);
 
        if (scp == NULL) {
                ASC_PRINT("asc_isr_callback: scp is NULL\n");
@@ -9369,9 +9234,9 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
 
        shost = scp->device->host;
        ASC_STATS(shost, callback);
-       ASC_DBG1(1, "asc_isr_callback: shost 0x%lx\n", (ulong)shost);
+       ASC_DBG(1, "shost 0x%p\n", shost);
 
-       boardp = ASC_BOARDP(shost);
+       boardp = shost_priv(shost);
        BUG_ON(asc_dvc_varp != &boardp->dvc_var.asc_dvc_var);
 
        /*
@@ -9379,7 +9244,7 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
         */
        switch (qdonep->d3.done_stat) {
        case QD_NO_ERROR:
-               ASC_DBG(2, "asc_isr_callback: QD_NO_ERROR\n");
+               ASC_DBG(2, "QD_NO_ERROR\n");
                scp->result = 0;
 
                /*
@@ -9390,20 +9255,18 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
                 */
                if (scp->request_bufflen != 0 && qdonep->remain_bytes != 0 &&
                    qdonep->remain_bytes <= scp->request_bufflen) {
-                       ASC_DBG1(1,
-                                "asc_isr_callback: underrun condition %u bytes\n",
+                       ASC_DBG(1, "underrun condition %u bytes\n",
                                 (unsigned)qdonep->remain_bytes);
                        scp->resid = qdonep->remain_bytes;
                }
                break;
 
        case QD_WITH_ERROR:
-               ASC_DBG(2, "asc_isr_callback: QD_WITH_ERROR\n");
+               ASC_DBG(2, "QD_WITH_ERROR\n");
                switch (qdonep->d3.host_stat) {
                case QHSTA_NO_ERROR:
                        if (qdonep->d3.scsi_stat == SAM_STAT_CHECK_CONDITION) {
-                               ASC_DBG(2,
-                                       "asc_isr_callback: SAM_STAT_CHECK_CONDITION\n");
+                               ASC_DBG(2, "SAM_STAT_CHECK_CONDITION\n");
                                ASC_DBG_PRT_SENSE(2, scp->sense_buffer,
                                                  sizeof(scp->sense_buffer));
                                /*
@@ -9427,15 +9290,14 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
 
                default:
                        /* QHSTA error occurred */
-                       ASC_DBG1(1, "asc_isr_callback: host_stat 0x%x\n",
-                                qdonep->d3.host_stat);
+                       ASC_DBG(1, "host_stat 0x%x\n", qdonep->d3.host_stat);
                        scp->result = HOST_BYTE(DID_BAD_TARGET);
                        break;
                }
                break;
 
        case QD_ABORTED_BY_HOST:
-               ASC_DBG(1, "asc_isr_callback: QD_ABORTED_BY_HOST\n");
+               ASC_DBG(1, "QD_ABORTED_BY_HOST\n");
                scp->result =
                    HOST_BYTE(DID_ABORT) | MSG_BYTE(qdonep->d3.
                                                    scsi_msg) |
@@ -9443,8 +9305,7 @@ static void asc_isr_callback(ASC_DVC_VAR *asc_dvc_varp, ASC_QDONE_INFO *qdonep)
                break;
 
        default:
-               ASC_DBG1(1, "asc_isr_callback: done_stat 0x%x\n",
-                        qdonep->d3.done_stat);
+               ASC_DBG(1, "done_stat 0x%x\n", qdonep->d3.done_stat);
                scp->result =
                    HOST_BYTE(DID_ERROR) | MSG_BYTE(qdonep->d3.
                                                    scsi_msg) |
@@ -9727,12 +9588,12 @@ static int AscISR(ASC_DVC_VAR *asc_dvc)
 static int advansys_reset(struct scsi_cmnd *scp)
 {
        struct Scsi_Host *shost = scp->device->host;
-       struct asc_board *boardp = ASC_BOARDP(shost);
+       struct asc_board *boardp = shost_priv(shost);
        unsigned long flags;
        int status;
        int ret = SUCCESS;
 
-       ASC_DBG1(1, "advansys_reset: 0x%p\n", scp);
+       ASC_DBG(1, "0x%p\n", scp);
 
        ASC_STATS(shost, reset);
 
@@ -9742,7 +9603,7 @@ static int advansys_reset(struct scsi_cmnd *scp)
                ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var;
 
                /* Reset the chip and SCSI bus. */
-               ASC_DBG(1, "advansys_reset: before AscInitAsc1000Driver()\n");
+               ASC_DBG(1, "before AscInitAsc1000Driver()\n");
                status = AscInitAsc1000Driver(asc_dvc);
 
                /* Refer to ASC_IERR_* defintions for meaning of 'err_code'. */
@@ -9758,8 +9619,8 @@ static int advansys_reset(struct scsi_cmnd *scp)
                                    "successful\n");
                }
 
-               ASC_DBG(1, "advansys_reset: after AscInitAsc1000Driver()\n");
-               spin_lock_irqsave(&boardp->lock, flags);
+               ASC_DBG(1, "after AscInitAsc1000Driver()\n");
+               spin_lock_irqsave(shost->host_lock, flags);
        } else {
                /*
                 * If the suggest reset bus flags are set, then reset the bus.
@@ -9770,7 +9631,7 @@ static int advansys_reset(struct scsi_cmnd *scp)
                /*
                 * Reset the target's SCSI bus.
                 */
-               ASC_DBG(1, "advansys_reset: before AdvResetChipAndSB()\n");
+               ASC_DBG(1, "before AdvResetChipAndSB()\n");
                switch (AdvResetChipAndSB(adv_dvc)) {
                case ASC_TRUE:
                        scmd_printk(KERN_INFO, scp, "SCSI bus reset "
@@ -9782,15 +9643,15 @@ static int advansys_reset(struct scsi_cmnd *scp)
                        ret = FAILED;
                        break;
                }
-               spin_lock_irqsave(&boardp->lock, flags);
+               spin_lock_irqsave(shost->host_lock, flags);
                AdvISR(adv_dvc);
        }
 
        /* Save the time of the most recently completed reset. */
        boardp->last_reset = jiffies;
-       spin_unlock_irqrestore(&boardp->lock, flags);
+       spin_unlock_irqrestore(shost->host_lock, flags);
 
-       ASC_DBG1(1, "advansys_reset: ret %d\n", ret);
+       ASC_DBG(1, "ret %d\n", ret);
 
        return ret;
 }
@@ -9810,11 +9671,10 @@ static int
 advansys_biosparam(struct scsi_device *sdev, struct block_device *bdev,
                   sector_t capacity, int ip[])
 {
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(sdev->host);
 
-       ASC_DBG(1, "advansys_biosparam: begin\n");
+       ASC_DBG(1, "begin\n");
        ASC_STATS(sdev->host, biosparam);
-       boardp = ASC_BOARDP(sdev->host);
        if (ASC_NARROW_BOARD(boardp)) {
                if ((boardp->dvc_var.asc_dvc_var.dvc_cntl &
                     ASC_CNTL_BIOS_GT_1GB) && capacity > 0x200000) {
@@ -9835,7 +9695,7 @@ advansys_biosparam(struct scsi_device *sdev, struct block_device *bdev,
                }
        }
        ip[2] = (unsigned long)capacity / (ip[0] * ip[1]);
-       ASC_DBG(1, "advansys_biosparam: end\n");
+       ASC_DBG(1, "end\n");
        return 0;
 }
 
@@ -9846,30 +9706,29 @@ advansys_biosparam(struct scsi_device *sdev, struct block_device *bdev,
  */
 static irqreturn_t advansys_interrupt(int irq, void *dev_id)
 {
-       unsigned long flags;
        struct Scsi_Host *shost = dev_id;
-       asc_board_t *boardp = ASC_BOARDP(shost);
+       struct asc_board *boardp = shost_priv(shost);
        irqreturn_t result = IRQ_NONE;
 
-       ASC_DBG1(2, "advansys_interrupt: boardp 0x%p\n", boardp);
-       spin_lock_irqsave(&boardp->lock, flags);
+       ASC_DBG(2, "boardp 0x%p\n", boardp);
+       spin_lock(shost->host_lock);
        if (ASC_NARROW_BOARD(boardp)) {
                if (AscIsIntPending(shost->io_port)) {
                        result = IRQ_HANDLED;
                        ASC_STATS(shost, interrupt);
-                       ASC_DBG(1, "advansys_interrupt: before AscISR()\n");
+                       ASC_DBG(1, "before AscISR()\n");
                        AscISR(&boardp->dvc_var.asc_dvc_var);
                }
        } else {
-               ASC_DBG(1, "advansys_interrupt: before AdvISR()\n");
+               ASC_DBG(1, "before AdvISR()\n");
                if (AdvISR(&boardp->dvc_var.adv_dvc_var)) {
                        result = IRQ_HANDLED;
                        ASC_STATS(shost, interrupt);
                }
        }
-       spin_unlock_irqrestore(&boardp->lock, flags);
+       spin_unlock(shost->host_lock);
 
-       ASC_DBG(1, "advansys_interrupt: end\n");
+       ASC_DBG(1, "end\n");
        return result;
 }
 
@@ -10110,7 +9969,7 @@ advansys_wide_slave_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc)
  */
 static int advansys_slave_configure(struct scsi_device *sdev)
 {
-       asc_board_t *boardp = ASC_BOARDP(sdev->host);
+       struct asc_board *boardp = shost_priv(sdev->host);
 
        if (ASC_NARROW_BOARD(boardp))
                advansys_narrow_slave_configure(sdev,
@@ -10122,7 +9981,7 @@ static int advansys_slave_configure(struct scsi_device *sdev)
        return 0;
 }
 
-static int asc_build_req(asc_board_t *boardp, struct scsi_cmnd *scp,
+static int asc_build_req(struct asc_board *boardp, struct scsi_cmnd *scp,
                        struct asc_scsi_q *asc_scsi_q)
 {
        memset(asc_scsi_q, 0, sizeof(*asc_scsi_q));
@@ -10238,7 +10097,7 @@ static int asc_build_req(asc_board_t *boardp, struct scsi_cmnd *scp,
                }
        }
 
-       ASC_DBG_PRT_ASC_SCSI_Q(2, &asc_scsi_q);
+       ASC_DBG_PRT_ASC_SCSI_Q(2, asc_scsi_q);
        ASC_DBG_PRT_CDB(1, scp->cmnd, scp->cmd_len);
 
        return ASC_NOERROR;
@@ -10257,7 +10116,7 @@ static int asc_build_req(asc_board_t *boardp, struct scsi_cmnd *scp,
  *      ADV_ERROR(-1) - SG List creation failed
  */
 static int
-adv_get_sglist(asc_board_t *boardp, adv_req_t *reqp, struct scsi_cmnd *scp,
+adv_get_sglist(struct asc_board *boardp, adv_req_t *reqp, struct scsi_cmnd *scp,
               int use_sg)
 {
        adv_sgblk_t *sgblkp;
@@ -10281,7 +10140,7 @@ adv_get_sglist(asc_board_t *boardp, adv_req_t *reqp, struct scsi_cmnd *scp,
                 * (15) scatter-gather elements.
                 */
                if ((sgblkp = boardp->adv_sgblkp) == NULL) {
-                       ASC_DBG(1, "adv_get_sglist: no free adv_sgblk_t\n");
+                       ASC_DBG(1, "no free adv_sgblk_t\n");
                        ASC_STATS(scp->device->host, adv_build_nosg);
 
                        /*
@@ -10367,7 +10226,7 @@ adv_get_sglist(asc_board_t *boardp, adv_req_t *reqp, struct scsi_cmnd *scp,
  * to little-endian order.
  */
 static int
-adv_build_req(asc_board_t *boardp, struct scsi_cmnd *scp,
+adv_build_req(struct asc_board *boardp, struct scsi_cmnd *scp,
              ADV_SCSI_REQ_Q **adv_scsiqpp)
 {
        adv_req_t *reqp;
@@ -10380,7 +10239,7 @@ adv_build_req(asc_board_t *boardp, struct scsi_cmnd *scp,
         * the command.
         */
        if (boardp->adv_reqp == NULL) {
-               ASC_DBG(1, "adv_build_req: no free adv_req_t\n");
+               ASC_DBG(1, "no free adv_req_t\n");
                ASC_STATS(scp->device->host, adv_build_noreq);
                return ASC_BUSY;
        } else {
@@ -11255,9 +11114,9 @@ static int AdvExeScsiQueue(ADV_DVC_VAR *asc_dvc, ADV_SCSI_REQ_Q *scsiq)
 static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
 {
        int ret, err_code;
-       asc_board_t *boardp = ASC_BOARDP(scp->device->host);
+       struct asc_board *boardp = shost_priv(scp->device->host);
 
-       ASC_DBG1(1, "asc_execute_scsi_cmnd: scp 0x%p\n", scp);
+       ASC_DBG(1, "scp 0x%p\n", scp);
 
        if (ASC_NARROW_BOARD(boardp)) {
                ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var;
@@ -11279,12 +11138,10 @@ static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
 
                switch (adv_build_req(boardp, scp, &adv_scsiqp)) {
                case ASC_NOERROR:
-                       ASC_DBG(3, "asc_execute_scsi_cmnd: adv_build_req "
-                               "ASC_NOERROR\n");
+                       ASC_DBG(3, "adv_build_req ASC_NOERROR\n");
                        break;
                case ASC_BUSY:
-                       ASC_DBG(1, "asc_execute_scsi_cmnd: adv_build_req "
-                               "ASC_BUSY\n");
+                       ASC_DBG(1, "adv_build_req ASC_BUSY\n");
                        /*
                         * The asc_stats fields 'adv_build_noreq' and
                         * 'adv_build_nosg' count wide board busy conditions.
@@ -11294,8 +11151,7 @@ static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
                        return ASC_BUSY;
                case ASC_ERROR:
                default:
-                       ASC_DBG(1, "asc_execute_scsi_cmnd: adv_build_req "
-                               "ASC_ERROR\n");
+                       ASC_DBG(1, "adv_build_req ASC_ERROR\n");
                        ASC_STATS(scp->device->host, build_error);
                        return ASC_ERROR;
                }
@@ -11312,8 +11168,7 @@ static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
                 * successful request counter. Wrapping doesn't matter.
                 */
                boardp->reqcnt[scp->device->id]++;
-               ASC_DBG(1, "asc_execute_scsi_cmnd: ExeScsiQueue(), "
-                       "ASC_NOERROR\n");
+               ASC_DBG(1, "ExeScsiQueue() ASC_NOERROR\n");
                break;
        case ASC_BUSY:
                ASC_STATS(scp->device->host, exe_busy);
@@ -11332,7 +11187,7 @@ static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
                break;
        }
 
-       ASC_DBG(1, "asc_execute_scsi_cmnd: end\n");
+       ASC_DBG(1, "end\n");
        return ret;
 }
 
@@ -11346,20 +11201,12 @@ static int
 advansys_queuecommand(struct scsi_cmnd *scp, void (*done)(struct scsi_cmnd *))
 {
        struct Scsi_Host *shost = scp->device->host;
-       asc_board_t *boardp = ASC_BOARDP(shost);
-       unsigned long flags;
        int asc_res, result = 0;
 
        ASC_STATS(shost, queuecommand);
        scp->scsi_done = done;
 
-       /*
-        * host_lock taken by mid-level prior to call, but need
-        * to protect against own ISR
-        */
-       spin_lock_irqsave(&boardp->lock, flags);
        asc_res = asc_execute_scsi_cmnd(scp);
-       spin_unlock_irqrestore(&boardp->lock, flags);
 
        switch (asc_res) {
        case ASC_NOERROR:
@@ -11593,9 +11440,6 @@ static ushort __devinit AscInitAscDvcVar(ASC_DVC_VAR *asc_dvc)
        asc_dvc->cfg->sdtr_enable = ASC_SCSI_WIDTH_BIT_SET;
        asc_dvc->cfg->disc_enable = ASC_SCSI_WIDTH_BIT_SET;
        asc_dvc->cfg->chip_scsi_id = ASC_DEF_CHIP_SCSI_ID;
-       asc_dvc->cfg->lib_serial_no = ASC_LIB_SERIAL_NUMBER;
-       asc_dvc->cfg->lib_version = (ASC_LIB_VERSION_MAJOR << 8) |
-           ASC_LIB_VERSION_MINOR;
        chip_version = AscGetChipVersion(iop_base, asc_dvc->bus_type);
        asc_dvc->cfg->chip_version = chip_version;
        asc_dvc->sdtr_period_tbl[0] = SYN_XFER_NS_0;
@@ -11966,7 +11810,7 @@ static ushort __devinit AscInitFromEEP(ASC_DVC_VAR *asc_dvc)
                AscSetChipCfgMsw(iop_base, cfg_msw);
        }
        chksum = AscGetEEPConfig(iop_base, eep_config, asc_dvc->bus_type);
-       ASC_DBG1(1, "AscInitFromEEP: chksum 0x%x\n", chksum);
+       ASC_DBG(1, "chksum 0x%x\n", chksum);
        if (chksum == 0) {
                chksum = 0xaa55;
        }
@@ -11987,13 +11831,11 @@ static ushort __devinit AscInitFromEEP(ASC_DVC_VAR *asc_dvc)
        }
        eep_config->cfg_msw &= ~ASC_CFG_MSW_CLR_MASK;
        eep_config->cfg_lsw |= ASC_CFG0_HOST_INT_ON;
-       ASC_DBG1(1, "AscInitFromEEP: eep_config->chksum 0x%x\n",
-                eep_config->chksum);
+       ASC_DBG(1, "eep_config->chksum 0x%x\n", eep_config->chksum);
        if (chksum != eep_config->chksum) {
                if (AscGetChipVersion(iop_base, asc_dvc->bus_type) ==
                    ASC_CHIP_VER_PCI_ULTRA_3050) {
-                       ASC_DBG(1,
-                               "AscInitFromEEP: chksum error ignored; EEPROM-less board\n");
+                       ASC_DBG(1, "chksum error ignored; EEPROM-less board\n");
                        eep_config->init_sdtr = 0xFF;
                        eep_config->disc_enable = 0xFF;
                        eep_config->start_motor = 0xFF;
@@ -12094,7 +11936,7 @@ static ushort __devinit AscInitFromEEP(ASC_DVC_VAR *asc_dvc)
        return (warn_code);
 }
 
-static int __devinit AscInitGetConfig(asc_board_t *boardp)
+static int __devinit AscInitGetConfig(struct asc_board *boardp)
 {
        ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var;
        unsigned short warn_code = 0;
@@ -12151,7 +11993,7 @@ static int __devinit AscInitGetConfig(asc_board_t *boardp)
        return asc_dvc->err_code;
 }
 
-static int __devinit AscInitSetConfig(struct pci_dev *pdev, asc_board_t *boardp)
+static int __devinit AscInitSetConfig(struct pci_dev *pdev, struct asc_board *boardp)
 {
        ASC_DVC_VAR *asc_dvc = &boardp->dvc_var.asc_dvc_var;
        PortAddr iop_base = asc_dvc->iop_base;
@@ -13548,7 +13390,7 @@ static int __devinit AdvInitFrom38C1600EEP(ADV_DVC_VAR *asc_dvc)
  * then 0 is returned.
  */
 static int __devinit
-AdvInitGetConfig(struct pci_dev *pdev, asc_board_t *boardp)
+AdvInitGetConfig(struct pci_dev *pdev, struct asc_board *boardp)
 {
        ADV_DVC_VAR *asc_dvc = &boardp->dvc_var.adv_dvc_var;
        unsigned short warn_code = 0;
@@ -13569,16 +13411,14 @@ AdvInitGetConfig(struct pci_dev *pdev, asc_board_t *boardp)
        if ((cmd & PCI_COMMAND_PARITY) == 0)
                asc_dvc->cfg->control_flag |= CONTROL_FLAG_IGNORE_PERR;
 
-       asc_dvc->cfg->lib_version = (ADV_LIB_VERSION_MAJOR << 8) |
-           ADV_LIB_VERSION_MINOR;
        asc_dvc->cfg->chip_version =
            AdvGetChipVersion(iop_base, asc_dvc->bus_type);
 
-       ASC_DBG2(1, "AdvInitGetConfig: iopb_chip_id_1: 0x%x 0x%x\n",
+       ASC_DBG(1, "iopb_chip_id_1: 0x%x 0x%x\n",
                 (ushort)AdvReadByteRegister(iop_base, IOPB_CHIP_ID_1),
                 (ushort)ADV_CHIP_ID_BYTE);
 
-       ASC_DBG2(1, "AdvInitGetConfig: iopw_chip_id_0: 0x%x 0x%x\n",
+       ASC_DBG(1, "iopw_chip_id_0: 0x%x 0x%x\n",
                 (ushort)AdvReadWordRegister(iop_base, IOPW_CHIP_ID_0),
                 (ushort)ADV_CHIP_ID_WORD);
 
@@ -13660,7 +13500,7 @@ static struct scsi_host_template advansys_template = {
 };
 
 static int __devinit
-advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
+advansys_wide_init_chip(struct asc_board *boardp, ADV_DVC_VAR *adv_dvc_varp)
 {
        int req_cnt = 0;
        adv_req_t *reqp = NULL;
@@ -13673,7 +13513,7 @@ advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
         * is about 4 KB, so allocate all at once.
         */
        boardp->carrp = kmalloc(ADV_CARRIER_BUFSIZE, GFP_KERNEL);
-       ASC_DBG1(1, "advansys_wide_init_chip: carrp 0x%p\n", boardp->carrp);
+       ASC_DBG(1, "carrp 0x%p\n", boardp->carrp);
 
        if (!boardp->carrp)
                goto kmalloc_failed;
@@ -13686,8 +13526,7 @@ advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
        for (req_cnt = adv_dvc_varp->max_host_qng; req_cnt > 0; req_cnt--) {
                reqp = kmalloc(sizeof(adv_req_t) * req_cnt, GFP_KERNEL);
 
-               ASC_DBG3(1, "advansys_wide_init_chip: reqp 0x%p, req_cnt %d, "
-                        "bytes %lu\n", reqp, req_cnt,
+               ASC_DBG(1, "reqp 0x%p, req_cnt %d, bytes %lu\n", reqp, req_cnt,
                         (ulong)sizeof(adv_req_t) * req_cnt);
 
                if (reqp)
@@ -13715,8 +13554,7 @@ advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
 
        }
 
-       ASC_DBG3(1, "advansys_wide_init_chip: sg_cnt %d * %u = %u bytes\n",
-                sg_cnt, sizeof(adv_sgblk_t),
+       ASC_DBG(1, "sg_cnt %d * %u = %u bytes\n", sg_cnt, sizeof(adv_sgblk_t),
                 (unsigned)(sizeof(adv_sgblk_t) * sg_cnt));
 
        if (!boardp->adv_sgblkp)
@@ -13736,15 +13574,13 @@ advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
        boardp->adv_reqp = &reqp[0];
 
        if (adv_dvc_varp->chip_type == ADV_CHIP_ASC3550) {
-               ASC_DBG(2, "advansys_wide_init_chip: AdvInitAsc3550Driver()\n");
+               ASC_DBG(2, "AdvInitAsc3550Driver()\n");
                warn_code = AdvInitAsc3550Driver(adv_dvc_varp);
        } else if (adv_dvc_varp->chip_type == ADV_CHIP_ASC38C0800) {
-               ASC_DBG(2, "advansys_wide_init_chip: AdvInitAsc38C0800Driver()"
-                          "\n");
+               ASC_DBG(2, "AdvInitAsc38C0800Driver()\n");
                warn_code = AdvInitAsc38C0800Driver(adv_dvc_varp);
        } else {
-               ASC_DBG(2, "advansys_wide_init_chip: AdvInitAsc38C1600Driver()"
-                          "\n");
+               ASC_DBG(2, "AdvInitAsc38C1600Driver()\n");
                warn_code = AdvInitAsc38C1600Driver(adv_dvc_varp);
        }
        err_code = adv_dvc_varp->err_code;
@@ -13764,7 +13600,7 @@ advansys_wide_init_chip(asc_board_t *boardp, ADV_DVC_VAR *adv_dvc_varp)
        return err_code;
 }
 
-static void advansys_wide_free_mem(asc_board_t *boardp)
+static void advansys_wide_free_mem(struct asc_board *boardp)
 {
        kfree(boardp->carrp);
        boardp->carrp = NULL;
@@ -13781,18 +13617,16 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                                          unsigned int iop, int bus_type)
 {
        struct pci_dev *pdev;
-       asc_board_t *boardp;
+       struct asc_board *boardp = shost_priv(shost);
        ASC_DVC_VAR *asc_dvc_varp = NULL;
        ADV_DVC_VAR *adv_dvc_varp = NULL;
        int share_irq, warn_code, ret;
 
-       boardp = ASC_BOARDP(shost);
        boardp->id = asc_board_count++;
-       spin_lock_init(&boardp->lock);
        pdev = (bus_type == ASC_IS_PCI) ? to_pci_dev(boardp->dev) : NULL;
 
        if (ASC_NARROW_BOARD(boardp)) {
-               ASC_DBG(1, "advansys_board_found: narrow board\n");
+               ASC_DBG(1, "narrow board\n");
                asc_dvc_varp = &boardp->dvc_var.asc_dvc_var;
                asc_dvc_varp->bus_type = bus_type;
                asc_dvc_varp->drv_ptr = boardp;
@@ -13801,18 +13635,17 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                asc_dvc_varp->iop_base = iop;
        } else {
 #ifdef CONFIG_PCI
-               ASC_DBG(1, "advansys_board_found: wide board\n");
                adv_dvc_varp = &boardp->dvc_var.adv_dvc_var;
                adv_dvc_varp->drv_ptr = boardp;
                adv_dvc_varp->cfg = &boardp->dvc_cfg.adv_dvc_cfg;
                if (pdev->device == PCI_DEVICE_ID_ASP_ABP940UW) {
-                       ASC_DBG(1, "advansys_board_found: ASC-3550\n");
+                       ASC_DBG(1, "wide board ASC-3550\n");
                        adv_dvc_varp->chip_type = ADV_CHIP_ASC3550;
                } else if (pdev->device == PCI_DEVICE_ID_38C0800_REV1) {
-                       ASC_DBG(1, "advansys_board_found: ASC-38C0800\n");
+                       ASC_DBG(1, "wide board ASC-38C0800\n");
                        adv_dvc_varp->chip_type = ADV_CHIP_ASC38C0800;
                } else {
-                       ASC_DBG(1, "advansys_board_found: ASC-38C1600\n");
+                       ASC_DBG(1, "wide board ASC-38C1600\n");
                        adv_dvc_varp->chip_type = ADV_CHIP_ASC38C1600;
                }
 
@@ -13827,9 +13660,8 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                        ret = -ENODEV;
                        goto err_shost;
                }
-               adv_dvc_varp->iop_base = (AdvPortAddr)boardp->ioremap_addr
-               ASC_DBG1(1, "advansys_board_found: iop_base: 0x%lx\n",
-                        adv_dvc_varp->iop_base);
+               adv_dvc_varp->iop_base = (AdvPortAddr)boardp->ioremap_addr;
+               ASC_DBG(1, "iop_base: 0x%p\n", adv_dvc_varp->iop_base);
 
                /*
                 * Even though it isn't used to access wide boards, other
@@ -13838,9 +13670,8 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                 */
                boardp->ioport = iop;
 
-               ASC_DBG2(1, "advansys_board_found: iopb_chip_id_1 0x%x, "
-                        "iopw_chip_id_0 0x%x\n", (ushort)inp(iop + 1),
-                        (ushort)inpw(iop));
+               ASC_DBG(1, "iopb_chip_id_1 0x%x, iopw_chip_id_0 0x%x\n",
+                               (ushort)inp(iop + 1), (ushort)inpw(iop));
 #endif /* CONFIG_PCI */
        }
 
@@ -13899,7 +13730,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                 * longer be used. If the bus_type field must be
                 * referenced only use the bit-wise AND operator "&".
                 */
-               ASC_DBG(2, "advansys_board_found: AscInitGetConfig()\n");
+               ASC_DBG(2, "AscInitGetConfig()\n");
                ret = AscInitGetConfig(boardp) ? -ENODEV : 0;
        } else {
 #ifdef CONFIG_PCI
@@ -13909,7 +13740,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                 */
                shost->unchecked_isa_dma = FALSE;
                share_irq = IRQF_SHARED;
-               ASC_DBG(2, "advansys_board_found: AdvInitGetConfig()\n");
+               ASC_DBG(2, "AdvInitGetConfig()\n");
 
                ret = AdvInitGetConfig(pdev, boardp) ? -ENODEV : 0;
 #endif /* CONFIG_PCI */
@@ -13958,7 +13789,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                /*
                 * Modify board configuration.
                 */
-               ASC_DBG(2, "advansys_board_found: AscInitSetConfig()\n");
+               ASC_DBG(2, "AscInitSetConfig()\n");
                ret = AscInitSetConfig(pdev, boardp) ? -ENODEV : 0;
                if (ret)
                        goto err_free_proc;
@@ -14139,7 +13970,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                shost->sg_tablesize = SG_ALL;
        }
 
-       ASC_DBG1(1, "advansys_board_found: sg_tablesize: %d\n", shost->sg_tablesize);
+       ASC_DBG(1, "sg_tablesize: %d\n", shost->sg_tablesize);
 
        /* BIOS start address. */
        if (ASC_NARROW_BOARD(boardp)) {
@@ -14159,12 +13990,10 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
                AdvReadWordLram(adv_dvc_varp->iop_base,
                                BIOS_CODELEN, boardp->bios_codelen);
 
-               ASC_DBG2(1,
-                        "advansys_board_found: bios_signature 0x%x, bios_version 0x%x\n",
+               ASC_DBG(1, "bios_signature 0x%x, bios_version 0x%x\n",
                         boardp->bios_signature, boardp->bios_version);
 
-               ASC_DBG2(1,
-                        "advansys_board_found: bios_codeseg 0x%x, bios_codelen 0x%x\n",
+               ASC_DBG(1, "bios_codeseg 0x%x, bios_codelen 0x%x\n",
                         boardp->bios_codeseg, boardp->bios_codelen);
 
                /*
@@ -14206,7 +14035,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
 #endif /* CONFIG_ISA */
 
        /* Register IRQ Number. */
-       ASC_DBG1(2, "advansys_board_found: request_irq() %d\n", boardp->irq);
+       ASC_DBG(2, "request_irq(%d, %p)\n", boardp->irq, shost);
 
        ret = request_irq(boardp->irq, advansys_interrupt, share_irq,
                          DRV_NAME, shost);
@@ -14232,7 +14061,7 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
         * Initialize board RISC chip and enable interrupts.
         */
        if (ASC_NARROW_BOARD(boardp)) {
-               ASC_DBG(2, "advansys_board_found: AscInitAsc1000Driver()\n");
+               ASC_DBG(2, "AscInitAsc1000Driver()\n");
                warn_code = AscInitAsc1000Driver(asc_dvc_varp);
 
                if (warn_code || asc_dvc_varp->err_code) {
@@ -14282,14 +14111,12 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost,
  */
 static int advansys_release(struct Scsi_Host *shost)
 {
-       asc_board_t *boardp;
-
-       ASC_DBG(1, "advansys_release: begin\n");
+       struct asc_board *boardp = shost_priv(shost);
+       ASC_DBG(1, "begin\n");
        scsi_remove_host(shost);
-       boardp = ASC_BOARDP(shost);
        free_irq(boardp->irq, shost);
        if (shost->dma_channel != NO_ISA_DMA) {
-               ASC_DBG(1, "advansys_release: free_dma()\n");
+               ASC_DBG(1, "free_dma()\n");
                free_dma(shost->dma_channel);
        }
        if (!ASC_NARROW_BOARD(boardp)) {
@@ -14298,7 +14125,7 @@ static int advansys_release(struct Scsi_Host *shost)
        }
        kfree(boardp->prtbuf);
        scsi_host_put(shost);
-       ASC_DBG(1, "advansys_release: end\n");
+       ASC_DBG(1, "end\n");
        return 0;
 }
 
@@ -14333,11 +14160,10 @@ static int __devinit advansys_isa_probe(struct device *dev, unsigned int id)
        struct asc_board *board;
 
        if (!request_region(iop_base, ASC_IOADR_GAP, DRV_NAME)) {
-               ASC_DBG1(1, "advansys_isa_match: I/O port 0x%x busy\n",
-                        iop_base);
+               ASC_DBG(1, "I/O port 0x%x busy\n", iop_base);
                return -ENODEV;
        }
-       ASC_DBG1(1, "advansys_isa_match: probing I/O port 0x%x\n", iop_base);
+       ASC_DBG(1, "probing I/O port 0x%x\n", iop_base);
        if (!AscFindSignature(iop_base))
                goto release_region;
        if (!(AscGetChipVersion(iop_base, ASC_IS_ISA) & ASC_CHIP_VER_ISA_BIT))
@@ -14348,7 +14174,7 @@ static int __devinit advansys_isa_probe(struct device *dev, unsigned int id)
        if (!shost)
                goto release_region;
 
-       board = ASC_BOARDP(shost);
+       board = shost_priv(shost);
        board->irq = advansys_isa_irq_no(iop_base);
        board->dev = dev;
 
@@ -14411,11 +14237,10 @@ static int __devinit advansys_vlb_probe(struct device *dev, unsigned int id)
        struct asc_board *board;
 
        if (!request_region(iop_base, ASC_IOADR_GAP, DRV_NAME)) {
-               ASC_DBG1(1, "advansys_vlb_match: I/O port 0x%x busy\n",
-                        iop_base);
+               ASC_DBG(1, "I/O port 0x%x busy\n", iop_base);
                return -ENODEV;
        }
-       ASC_DBG1(1, "advansys_vlb_match: probing I/O port 0x%x\n", iop_base);
+       ASC_DBG(1, "probing I/O port 0x%x\n", iop_base);
        if (!AscFindSignature(iop_base))
                goto release_region;
        /*
@@ -14431,7 +14256,7 @@ static int __devinit advansys_vlb_probe(struct device *dev, unsigned int id)
        if (!shost)
                goto release_region;
 
-       board = ASC_BOARDP(shost);
+       board = shost_priv(shost);
        board->irq = advansys_vlb_irq_no(iop_base);
        board->dev = dev;
 
@@ -14538,7 +14363,7 @@ static int __devinit advansys_eisa_probe(struct device *dev)
                if (!shost)
                        goto release_region;
 
-               board = ASC_BOARDP(shost);
+               board = shost_priv(shost);
                board->irq = irq;
                board->dev = dev;
 
@@ -14654,7 +14479,7 @@ advansys_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (!shost)
                goto release_region;
 
-       board = ASC_BOARDP(shost);
+       board = shost_priv(shost);
        board->irq = pdev->irq;
        board->dev = &pdev->dev;