public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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