All of lore.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dougg@torque.net>
To: "Gerold J. Wucherpfennig" <gjwucherpfennig@gmx.net>
Cc: linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: Compile error with linux-2.5.5-pre1 & advansys scsi
Date: Thu, 14 Feb 2002 19:34:39 -0500	[thread overview]
Message-ID: <3C6C579F.960DE0D7@torque.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 201 bytes --]

"Gerold J. Wucherpfennig" <gjwucherpfennig@gmx.net> wrote:

> The advansys scsi driver of linux-2.5.5-pre1 doesn't compile ...

Gerold,
Please try the attachment, tested on i386 UP + SMP.

Doug Gilbert

[-- Attachment #2: advansys_255p1min6.diff --]
[-- Type: text/plain, Size: 6918 bytes --]

--- linux/drivers/scsi/advansys.c	Thu Feb  7 22:31:04 2002
+++ linux/drivers/scsi/advansys.cmin6	Thu Feb  7 23:23:59 2002
@@ -1,4 +1,4 @@
-#define ASC_VERSION "3.3GG"    /* AdvanSys Driver Version */
+#define ASC_VERSION "3.3GI"    /* AdvanSys Driver Version */
 
 /*
  * advansys.c - Linux Host Driver for AdvanSys SCSI Adapters
@@ -670,7 +670,7 @@
          1. Return an error from narrow boards if passed a 16 byte
             CDB. The wide board can already handle 16 byte CDBs.
 
-     3.3GG (01/02/02):
+     3.3GI (2/07/02):
 	 1. hacks for lk 2.5 series (D. Gilbert)
 
   I. Known Problems/Fix List (XXX)
@@ -752,7 +752,6 @@
 
 */
 
-#error Please convert me to Documentation/DMA-mapping.txt
 
 /*
  * --- Linux Version
@@ -869,8 +868,8 @@
  * will give us time to change the HW and FW to handle 64-bit
  * addresses.
  */
-#define ASC_VADDR_TO_U32   virt_to_bus
-#define ASC_U32_TO_VADDR   bus_to_virt
+#define ASC_VADDR_TO_U32   __pa
+#define ASC_U32_TO_VADDR   __va
 
 typedef unsigned char uchar;
 
@@ -2151,8 +2150,8 @@
  * will give us time to change the HW and FW to handle 64-bit
  * addresses.
  */
-#define ADV_VADDR_TO_U32   virt_to_bus
-#define ADV_U32_TO_VADDR   bus_to_virt
+#define ADV_VADDR_TO_U32   __pa
+#define ADV_U32_TO_VADDR   __va
 
 #define AdvPortAddr  ulong              /* Virtual memory address size */
 
@@ -3614,23 +3613,6 @@
 #define ASC_MIN(a, b) (((a) < (b)) ? (a) : (b))
 #endif /* CONFIG_PROC_FS */
 
-/*
- * XXX - Release and acquire the io_request_lock. These macros are needed
- * because the 2.4 kernel SCSI mid-level driver holds the 'io_request_lock'
- * on entry to SCSI low-level drivers.
- *
- * These definitions and all code that uses code should be removed when the
- * SCSI mid-level driver no longer holds the 'io_request_lock' on entry to
- * SCSI low-level driver detect, queuecommand, and reset entrypoints.
- *
- * The interrupt flags values doesn't matter in the macros because the
- * SCSI mid-level will save and restore the flags values before and after
- * calling advansys_detect, advansys_queuecommand, and advansys_reset where
- * these macros are used. We do want interrupts enabled after the lock is
- * released so an explicit sti() is done. The driver only needs interrupts
- * disabled when it acquires the per board lock.
- */
-
 /* Asc Library return codes */
 #define ASC_TRUE        1
 #define ASC_FALSE       0
@@ -4822,7 +4804,7 @@
             boardp->id = asc_board_count - 1;
 
             /* Initialize spinlock. */
-            boardp->lock = SPIN_LOCK_UNLOCKED; /* replaced by host_lock dpg */
+            boardp->lock = SPIN_LOCK_UNLOCKED;
 
             /*
              * Handle both narrow and wide boards.
@@ -5872,7 +5854,7 @@
 
     /* host_lock taken by mid-level prior to call but need to protect */
     /* against own ISR */
-    spin_lock_irqsave(boardp->lock, flags);
+    spin_lock_irqsave(&boardp->lock, flags);
 
     /*
      * Block new commands while handling a reset or abort request.
@@ -6676,7 +6658,7 @@
     asc_scsi_q.q1.target_id = ASC_TID_TO_TARGET_ID(scp->target);
     asc_scsi_q.q1.target_lun = scp->lun;
     asc_scsi_q.q2.target_ix = ASC_TIDLUN_TO_IX(scp->target, scp->lun);
-    asc_scsi_q.q1.sense_addr = cpu_to_le32(virt_to_bus(&scp->sense_buffer[0]));
+    asc_scsi_q.q1.sense_addr = cpu_to_le32(__pa(&scp->sense_buffer[0]));
     asc_scsi_q.q1.sense_len = sizeof(scp->sense_buffer);
 
     /*
@@ -6707,7 +6689,7 @@
          */
         ASC_STATS(scp->host, cont_cnt);
         asc_scsi_q.q1.data_addr =
-            cpu_to_le32(virt_to_bus(scp->request_buffer));
+            cpu_to_le32(__pa(scp->request_buffer));
         asc_scsi_q.q1.data_cnt = cpu_to_le32(scp->request_bufflen);
         ASC_STATS_ADD(scp->host, cont_xfer,
                       ASC_CEILING(scp->request_bufflen, 512));
@@ -6751,8 +6733,7 @@
         slp = (struct scatterlist *) scp->request_buffer;
         for (sgcnt = 0; sgcnt < scp->use_sg; sgcnt++, slp++) {
             asc_sg_head.sg_list[sgcnt].addr =
-                cpu_to_le32(virt_to_bus(slp->address ? 
-		(unsigned char *)slp->address :
+                cpu_to_le32(__pa(
 		(unsigned char *)page_address(slp->page) + slp->offset));
             asc_sg_head.sg_list[sgcnt].bytes = cpu_to_le32(slp->length);
             ASC_STATS_ADD(scp->host, sg_xfer, ASC_CEILING(slp->length, 512));
@@ -6848,7 +6829,7 @@
     scsiqp->target_id = scp->target;
     scsiqp->target_lun = scp->lun;
 
-    scsiqp->sense_addr = cpu_to_le32(virt_to_bus(&scp->sense_buffer[0]));
+    scsiqp->sense_addr = cpu_to_le32(__pa(&scp->sense_buffer[0]));
     scsiqp->sense_len = sizeof(scp->sense_buffer);
 
     /*
@@ -6857,7 +6838,7 @@
      */
     scsiqp->data_cnt = cpu_to_le32(scp->request_bufflen);
     scsiqp->vdata_addr = scp->request_buffer;
-    scsiqp->data_addr = cpu_to_le32(virt_to_bus(scp->request_buffer));
+    scsiqp->data_addr = cpu_to_le32(__pa(scp->request_buffer));
 
     if (scp->use_sg == 0) {
         /*
@@ -6977,7 +6958,7 @@
              * the allocated ADV_SG_BLOCK structure.
              */
             sg_block = (ADV_SG_BLOCK *) ADV_8BALIGN(&sgblkp->sg_block);
-            sg_block_paddr = virt_to_bus(sg_block);
+            sg_block_paddr = __pa(sg_block);
 
             /*
              * Check if this is the first 'adv_sgblk_t' for the request.
@@ -7011,9 +6992,8 @@
         for (i = 0; i < NO_OF_SG_PER_BLOCK; i++)
         {
             sg_block->sg_list[i].sg_addr =
-                cpu_to_le32(virt_to_bus(slp->address ? 
-		(unsigned char *)slp->address :
-                (unsigned char *)page_address(slp->page) + slp->offset));
+                cpu_to_le32(__pa(
+                   (unsigned char *)page_address(slp->page) + slp->offset));
             sg_block->sg_list[i].sg_count = cpu_to_le32(slp->length);
             ASC_STATS_ADD(scp->host, sg_xfer, ASC_CEILING(slp->length, 512));
 
@@ -9162,7 +9142,7 @@
 {
     ADV_PADDR           paddr;
 
-    paddr = virt_to_bus(vaddr);
+    paddr = __pa(vaddr);
 
     ASC_DBG4(4,
         "DvcGetPhyAddr: vaddr 0x%lx, lenp 0x%lx *lenp %lu, paddr 0x%lx\n",
@@ -9415,8 +9395,8 @@
 
     printk("Scsi_Host at addr 0x%lx\n", (ulong) s);
     printk(
-" next 0x%lx, extra_bytes %u, host_busy %u, host_no %d, last_reset %d,\n",
-        (ulong) s->next, s->extra_bytes, s->host_busy, s->host_no,
+" next 0x%lx, host_busy %u, host_no %d, last_reset %d,\n",
+        (ulong) s->next, s->host_busy, s->host_no,
         (unsigned) s->last_reset);
 
 #if ASC_LINUX_KERNEL24
@@ -12764,7 +12744,7 @@
                      ASC_TID_TO_TARGET_ID(asc_dvc->cfg->chip_scsi_id));
 
     /* Align overrun buffer on an 8 byte boundary. */
-    phy_addr = virt_to_bus(asc_dvc->cfg->overrun_buf);
+    phy_addr = __pa(asc_dvc->cfg->overrun_buf);
     phy_addr = cpu_to_le32((phy_addr + 7) & ~0x7);
     AscMemDWordCopyPtrToLram(iop_base, ASCV_OVERRUN_PADDR_D,
         (uchar *) &phy_addr, 1);

             reply	other threads:[~2002-02-15  0:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-15  0:34 Douglas Gilbert [this message]
2002-02-21 22:37 ` Compile error with linux-2.5.5-pre1 & advansys scsi Gerold J. Wucherpfennig
2002-02-22  4:00   ` Douglas Gilbert
  -- strict thread matches above, loose matches on Subject: below --
2002-02-13 22:38 linux-2.5.5-pre1 Linus Torvalds
2002-02-14 20:49 ` Compile error with linux-2.5.5-pre1 & advansys scsi Gerold J. Wucherpfennig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3C6C579F.960DE0D7@torque.net \
    --to=dougg@torque.net \
    --cc=gjwucherpfennig@gmx.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.