lkml.org 
[lkml]   [2002]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
SubjectRe: ini9100u.c fixes ? (Was 2.5.44 compilation errors)
On Sat, 19 Oct 2002, Jens Axboe wrote:

> On Sat, Oct 19 2002, haoviet@tuluc.com wrote:
> > --------------------------------------------------------------------------
> > drivers/scsi/qla1280.c:5932: unknown field `next' specified in initializer
> > drivers/scsi/qla1280.c:5932: warning: missing braces around initializer
> > drivers/scsi/qla1280.c:5932: warning: (near initialization for
> > `driver_template.shtp_list')make[2]: *** [drivers/scsi/qla1280.o] Error 1
> > make[1]: *** [drivers/scsi] Error 2
> > make: *** [drivers] Error 2
> > ----------------------------------------------------------------------------
>
> ===== drivers/scsi/qla1280.h 1.7 vs edited =====
> --- 1.7/drivers/scsi/qla1280.h Mon Oct 14 19:00:37 2002
> +++ edited/drivers/scsi/qla1280.h Sat Oct 19 11:05:46 2002
> @@ -1324,22 +1324,12 @@
> */
>
> #define QLA1280_LINUX_TEMPLATE { \
> - next: NULL, \
> - module: NULL, \
> - proc_dir: NULL, \
> proc_info: qla1280_proc_info, \
> name: "Qlogic ISP 1280/12160", \
> detect: qla1280_detect, \
> release: qla1280_release, \
> info: qla1280_info, \
> - ioctl: NULL, \
> - command: NULL, \
> queuecommand: qla1280_queuecommand, \
> - eh_strategy_handler: NULL, \
> - eh_abort_handler: NULL, \
> - eh_device_reset_handler: NULL, \
> - eh_bus_reset_handler: NULL, \
> - eh_host_reset_handler: NULL, \
> /* use_new_eh_code: 0, */ \
> abort: qla1280_abort, \
> reset: qla1280_reset, \
>
>
> --

The same problem exist with ini9100u.c, solution is:

[dzimi@cyborg scsi]$ diff -urN ini9100u.h.orig ini9100u.h
--- ini9100u.h.orig Sun Oct 20 11:08:38 2002
+++ ini9100u.h Sun Oct 20 11:08:56 2002
@@ -89,9 +89,6 @@
#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision:
1.03g"

#define INI9100U { \
- next: NULL, \
- module: NULL, \
- proc_name: "INI9100U", \
proc_info: NULL, \
name: i91u_REVID, \
detect: i91u_detect, \

but this is one of them.
Compilation problem still exist, because driver should be rewrite (using
new DMA-mapping API).
I've prepared patch, witch build and possible work, but initio.o didn't
see my partition table. Where is the bug ?
Correct me if I wrong.

Krzysiek Taraszka (dzimi@pld.org.pl)

AD.

Here My patch for ini9100u.c :

[dzimi@cyborg scsi]$ diff -urN ini9100u.c.orig ini9100u.c
--- ini9100u.c.orig Sun Oct 20 11:15:39 2002
+++ ini9100u.c Sun Oct 20 11:18:33 2002
@@ -108,8 +108,6 @@

#define CVT_LINUX_VERSION(V,P,S) (V * 65536 + P * 256 + S)

-#error Please convert me to Documentation/DMA-mapping.txt
-
#ifndef LINUX_VERSION_CODE
#include <linux/version.h>
#endif
@@ -491,8 +489,8 @@
if (SCpnt->use_sg) {
pSrbSG = (struct scatterlist *) SCpnt->request_buffer;
if (SCpnt->use_sg == 1) { /* If only one entry in the list *//* treat it as regular I/O */
- pSCB->SCB_BufPtr = (U32) VIRT_TO_BUS(pSrbSG->address);
- TotalLen = pSrbSG->length;
+ pSCB->SCB_BufPtr = (U32) sg_dma_address(pSrbSG);
+ TotalLen = sg_dma_len(pSrbSG);
pSCB->SCB_SGLen = 0;
} else { /* Assign SG physical address */
pSCB->SCB_BufPtr = pSCB->SCB_SGPAddr;
@@ -500,8 +498,9 @@
for (i = 0, TotalLen = 0, pSG =
&pSCB->SCB_SGList[0]; /* 1.01g */
i < SCpnt->use_sg;
i++, pSG++, pSrbSG++) {
- pSG->SG_Ptr = (U32) VIRT_TO_BUS(pSrbSG->address);
- TotalLen += pSG->SG_Len = pSrbSG->length;
+ pSG->SG_Ptr = (U32) sg_dma_address(pSrbSG);
+ pSG->SG_Len = (U32) sg_dma_len(pSrbSG);
+ TotalLen += (U32) sg_dma_len(pSrbSG);
}
pSCB->SCB_SGLen = i;
}
--- ini9100u.c.orig Sun Oct 20 11:15:39 2002
+++ ini9100u.c Sun Oct 20 11:18:33 2002
@@ -108,8 +108,6 @@

#define CVT_LINUX_VERSION(V,P,S) (V * 65536 + P * 256 + S)

-#error Please convert me to Documentation/DMA-mapping.txt
-
#ifndef LINUX_VERSION_CODE
#include <linux/version.h>
#endif
@@ -491,8 +489,8 @@
if (SCpnt->use_sg) {
pSrbSG = (struct scatterlist *) SCpnt->request_buffer;
if (SCpnt->use_sg == 1) { /* If only one entry in the list *//* treat it as regular I/O */
- pSCB->SCB_BufPtr = (U32) VIRT_TO_BUS(pSrbSG->address);
- TotalLen = pSrbSG->length;
+ pSCB->SCB_BufPtr = (U32) sg_dma_address(pSrbSG);
+ TotalLen = sg_dma_len(pSrbSG);
pSCB->SCB_SGLen = 0;
} else { /* Assign SG physical address */
pSCB->SCB_BufPtr = pSCB->SCB_SGPAddr;
@@ -500,8 +498,9 @@
for (i = 0, TotalLen = 0, pSG = &pSCB->SCB_SGList[0]; /* 1.01g */
i < SCpnt->use_sg;
i++, pSG++, pSrbSG++) {
- pSG->SG_Ptr = (U32) VIRT_TO_BUS(pSrbSG->address);
- TotalLen += pSG->SG_Len = pSrbSG->length;
+ pSG->SG_Ptr = (U32) sg_dma_address(pSrbSG);
+ pSG->SG_Len = (U32) sg_dma_len(pSrbSG);
+ TotalLen += (U32) sg_dma_len(pSrbSG);
}
pSCB->SCB_SGLen = i;
}--- ini9100u.h.orig Sun Oct 20 11:08:38 2002
+++ ini9100u.h Sun Oct 20 11:08:56 2002
@@ -89,9 +89,6 @@
#define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g"

#define INI9100U { \
- next: NULL, \
- module: NULL, \
- proc_name: "INI9100U", \
proc_info: NULL, \
name: i91u_REVID, \
detect: i91u_detect, \
\
 
 \ /
  Last update: 2005-03-22 13:30    [from the cache]
©2003-2011 Jasper Spaans