* 2.5.44 compilation errors
@ 2002-10-19 7:57 haoviet
2002-10-19 9:06 ` Jens Axboe
0 siblings, 1 reply; 5+ messages in thread
From: haoviet @ 2002-10-19 7:57 UTC (permalink / raw)
To: linux-kernel
--------------------------------------------------------------------------
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
----------------------------------------------------------------------------
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: 2.5.44 compilation errors
2002-10-19 7:57 2.5.44 compilation errors haoviet
@ 2002-10-19 9:06 ` Jens Axboe
2002-10-20 9:32 ` ini9100u.c fixes ? (Was 2.5.44 compilation errors) Krzysiek Taraszka
0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2002-10-19 9:06 UTC (permalink / raw)
To: haoviet; +Cc: linux-kernel
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, \
--
Jens Axboe
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ini9100u.c fixes ? (Was 2.5.44 compilation errors)
2002-10-19 9:06 ` Jens Axboe
@ 2002-10-20 9:32 ` Krzysiek Taraszka
2002-10-20 9:36 ` Jens Axboe
0 siblings, 1 reply; 5+ messages in thread
From: Krzysiek Taraszka @ 2002-10-20 9:32 UTC (permalink / raw)
To: Jens Axboe; +Cc: haoviet, linux-kernel
[-- Attachment #1: Type: TEXT/PLAIN, Size: 4214 bytes --]
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;
}
[-- Attachment #2: DMA-mapping --]
[-- Type: TEXT/PLAIN, Size: 1253 bytes --]
--- 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;
}
[-- Attachment #3: compilation fix --]
[-- Type: TEXT/PLAIN, Size: 363 bytes --]
--- 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, \
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ini9100u.c fixes ? (Was 2.5.44 compilation errors)
2002-10-20 9:32 ` ini9100u.c fixes ? (Was 2.5.44 compilation errors) Krzysiek Taraszka
@ 2002-10-20 9:36 ` Jens Axboe
2002-10-20 10:03 ` Krzysiek Taraszka
0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2002-10-20 9:36 UTC (permalink / raw)
To: Krzysiek Taraszka; +Cc: haoviet, linux-kernel
On Sun, Oct 20 2002, Krzysiek Taraszka wrote:
> 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, \
Please just kill any NULL assignments, they are not needed.
> 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
First step, read this document!
> #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;
You didn't read the document :). You are not mapping the scatterlist for
dma before using sg_dma_address() on the element. So pSCB->SCB_BufPtr is
now 0.
> @@ -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);
Ditto
--
Jens Axboe
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ini9100u.c fixes ? (Was 2.5.44 compilation errors)
2002-10-20 9:36 ` Jens Axboe
@ 2002-10-20 10:03 ` Krzysiek Taraszka
0 siblings, 0 replies; 5+ messages in thread
From: Krzysiek Taraszka @ 2002-10-20 10:03 UTC (permalink / raw)
To: Jens Axboe; +Cc: haoviet, linux-kernel
On Sun, 20 Oct 2002, Jens Axboe wrote:
> On Sun, Oct 20 2002, Krzysiek Taraszka wrote:
> > 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, \
>
> Please just kill any NULL assignments, they are not needed.
>
> > 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
>
> First step, read this document!
>
> > #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;
>
> You didn't read the document :). You are not mapping the scatterlist for
> dma before using sg_dma_address() on the element. So pSCB->SCB_BufPtr is
> now 0.
well, i read but this is my first contact with 2.5 tree, I need to read
more documents and other scsi drivers! Now i know why doesn't work. :)
Thanks a lot.
Krzysiek Taraszka (dzimi@pld.org.pl)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2002-10-20 9:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-19 7:57 2.5.44 compilation errors haoviet
2002-10-19 9:06 ` Jens Axboe
2002-10-20 9:32 ` ini9100u.c fixes ? (Was 2.5.44 compilation errors) Krzysiek Taraszka
2002-10-20 9:36 ` Jens Axboe
2002-10-20 10:03 ` Krzysiek Taraszka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox