All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: 2.4.25pre6 and qlogic pcmcia driver
       [not found] <200401180355.01190.arekm@pld-linux.org>
@ 2004-01-20 16:01 ` Marcelo Tosatti
  2004-01-20 18:11   ` Randy.Dunlap
  0 siblings, 1 reply; 5+ messages in thread
From: Marcelo Tosatti @ 2004-01-20 16:01 UTC (permalink / raw)
  To: Arkadiusz Miskiewicz; +Cc: Marcelo Tosatti, linux-kernel, Erik Andersen



Same here, 2.4.24 does not show this behaviour.

I can't find the guilty modification in 2.4.25-pre.

On Sun, 18 Jan 2004, Arkadiusz Miskiewicz wrote:

> Hi,
>
> I was compiling 2.4.25pre6 (_but_ with bunch of different patches) with
> almost everything modular and got this:
>
> ake[1]: Wej?cie do katalogu `/home/users/misiek/rpm/BUILD/linux-2.4.24/drivers/scsi/pcmcia'
> gcc -D__KERNEL__ -I/home/users/misiek/rpm/BUILD/linux-2.4.24/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE  -nostdinc -iwithprefix include -DKBUILD_BASENAME=qlogic_stub  -c -o qlogic_stub.o qlogic_stub.c
> gcc -D__KERNEL__ -I/home/users/misiek/rpm/BUILD/linux-2.4.24/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE  -nostdinc -iwithprefix include -DKBUILD_BASENAME=qlogicfas -DPCMCIA -D__NO_VERSION__ -c -o qlogicfas.o ../qlogicfas.c
> ../qlogicfas.c: In function `qlogicfas_detect':
> ../qlogicfas.c:650: warning: passing arg 1 of `scsi_unregister' from incompatible pointer type
> ld -m elf_i386 -r -o qlogic_cs.o qlogic_stub.o qlogicfas.o
> qlogicfas.o(.text+0xe50): In function `init_module':
> : multiple definition of `init_module'
> qlogic_stub.o(.text+0x860): first defined here
> ld: Warning: size of symbol `init_module' changed from 86 in qlogic_stub.o to 75 in qlogicfas.o
> qlogicfas.o(.text+0xea0): In function `cleanup_module':
> : multiple definition of `cleanup_module'
> qlogic_stub.o(.text+0x8c0): first defined here
> ld: Warning: size of symbol `cleanup_module' changed from 47 in qlogic_stub.o to 27 in qlogicfas.o
> make[1]: *** [qlogic_cs.o] B??d 1
>
> qlogic_cs module is going to be build using drivers/scsi/pcmcia/qlogic_stub.c
> and drivers/scsi/qlogicfas.c.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.4.25pre6 and qlogic pcmcia driver
  2004-01-20 16:01 ` 2.4.25pre6 and qlogic pcmcia driver Marcelo Tosatti
@ 2004-01-20 18:11   ` Randy.Dunlap
  2004-01-21  1:32     ` Arkadiusz Miskiewicz
  0 siblings, 1 reply; 5+ messages in thread
From: Randy.Dunlap @ 2004-01-20 18:11 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: arekm, marcelo.tosatti, linux-kernel, andersen

On Tue, 20 Jan 2004 14:01:54 -0200 (BRST) Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:

| 
| 
| Same here, 2.4.24 does not show this behaviour.
| 
| I can't find the guilty modification in 2.4.25-pre.

Same problem with aha152x pcmcia being built as a module.

I also don't see any changes that would be causing this...

It's clear that this problem should be detected, since
scsi/qlogicfas.c and scsi/pcmcia/qlogic_stub.c both
#include <linux/init.h>, so both of them define the module
init and cleanup functions.  I don't see how this worked
in the past, unless it was due to some tools that missed
detecting the duplicated functions.


| On Sun, 18 Jan 2004, Arkadiusz Miskiewicz wrote:
| 
| > Hi,
| >
| > I was compiling 2.4.25pre6 (_but_ with bunch of different patches) with
| > almost everything modular and got this:
| >
| > ake[1]: Wej?cie do katalogu `/home/users/misiek/rpm/BUILD/linux-2.4.24/drivers/scsi/pcmcia'
| > gcc -D__KERNEL__ -I/home/users/misiek/rpm/BUILD/linux-2.4.24/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE  -nostdinc -iwithprefix include -DKBUILD_BASENAME=qlogic_stub  -c -o qlogic_stub.o qlogic_stub.c
| > gcc -D__KERNEL__ -I/home/users/misiek/rpm/BUILD/linux-2.4.24/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE  -nostdinc -iwithprefix include -DKBUILD_BASENAME=qlogicfas -DPCMCIA -D__NO_VERSION__ -c -o qlogicfas.o ../qlogicfas.c
| > ../qlogicfas.c: In function `qlogicfas_detect':
| > ../qlogicfas.c:650: warning: passing arg 1 of `scsi_unregister' from incompatible pointer type
| > ld -m elf_i386 -r -o qlogic_cs.o qlogic_stub.o qlogicfas.o
| > qlogicfas.o(.text+0xe50): In function `init_module':
| > : multiple definition of `init_module'
| > qlogic_stub.o(.text+0x860): first defined here
| > ld: Warning: size of symbol `init_module' changed from 86 in qlogic_stub.o to 75 in qlogicfas.o
| > qlogicfas.o(.text+0xea0): In function `cleanup_module':
| > : multiple definition of `cleanup_module'
| > qlogic_stub.o(.text+0x8c0): first defined here
| > ld: Warning: size of symbol `cleanup_module' changed from 47 in qlogic_stub.o to 27 in qlogicfas.o
| > make[1]: *** [qlogic_cs.o] B??d 1
| >
| > qlogic_cs module is going to be build using drivers/scsi/pcmcia/qlogic_stub.c
| > and drivers/scsi/qlogicfas.c.
| -


--
~Randy
kernel-janitors project:  http://janitor.kernelnewbies.org/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.4.25pre6 and qlogic pcmcia driver
  2004-01-20 18:11   ` Randy.Dunlap
@ 2004-01-21  1:32     ` Arkadiusz Miskiewicz
  2004-01-22 23:18       ` Randy.Dunlap
  0 siblings, 1 reply; 5+ messages in thread
From: Arkadiusz Miskiewicz @ 2004-01-21  1:32 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: Marcelo Tosatti, linux-kernel, andersen

Dnia wto 20. stycznia 2004 19:11, Randy.Dunlap napisał:
> On Tue, 20 Jan 2004 14:01:54 -0200 (BRST) Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:
> | Same here, 2.4.24 does not show this behaviour.
> |
> | I can't find the guilty modification in 2.4.25-pre.
>
> Same problem with aha152x pcmcia being built as a module.
>
> I also don't see any changes that would be causing this...
>
> It's clear that this problem should be detected, since
> scsi/qlogicfas.c and scsi/pcmcia/qlogic_stub.c both
> #include <linux/init.h>, so both of them define the module
> init and cleanup functions.  I don't see how this worked
> in the past, unless it was due to some tools that missed
> detecting the duplicated functions.
This change causes whole problem:

diff -Naur -p -X /home/marcelo/lib/dontdiff linux-2.4.24/include/linux/spinlock.h linux-2.4.25-pre6/include/linux/spinlock.h
--- linux-2.4.24/include/linux/spinlock.h       2002-11-28 23:53:15.000000000 +0000
+++ linux-2.4.25-pre6/include/linux/spinlock.h  2004-01-16 12:20:45.000000000 +0000
@@ -3,6 +3,8 @@

 #include <linux/config.h>

+#include <asm/system.h>
+
 /*
  * These are the generic versions of the spinlocks and read-write
  * locks..

The difference between 2.4.23 after preprocessing is: 
static Scsi_Host_Template driver_template = { detect: qlogicfas_detect, release: qlogicfas_release, info: qlogicfas_info, co
mmand: qlogicfas_command, queuecommand: qlogicfas_queuecommand, abort: qlogicfas_abort, reset: qlogicfas_reset, bios_param:
qlogicfas_biosparam, can_queue: 0, this_id: -1, sg_tablesize: 0xff, cmd_per_lun: 1, use_clustering: 0 };
# 1 "scsi_module.c" 1
# 35 "scsi_module.c"
static int __attribute__ ((__section__ (".text.init"))) init_this_scsi_driver(void)
{
        driver_template.module = (&__this_module);
        scsi_register_module(1, &driver_template);
        if (driver_template.present)
                return 0;

        scsi_unregister_module(1, &driver_template);
        return -19;
}

static void __attribute__ ((unused, __section__(".text.exit"))) exit_this_scsi_driver(void)
{
        scsi_unregister_module(1, &driver_template);
}

static initcall_t __initcall_init_this_scsi_driver __attribute__ ((unused,__section__ (".initcall.init"))) = init_this_scsi_
driver;;
static exitcall_t __exitcall_exit_this_scsi_driver __attribute__ ((unused,__section__ (".exitcall.exit"))) = exit_this_scsi_
driver;;

and on 2.4.25pre6:
static Scsi_Host_Template driver_template = { detect: qlogicfas_detect, release: qlogicfas_release, info: qlogicfas_info, co
mmand: qlogicfas_command, queuecommand: qlogicfas_queuecommand, abort: qlogicfas_abort, reset: qlogicfas_reset, bios_param:
qlogicfas_biosparam, can_queue: 0, this_id: -1, sg_tablesize: 0xff, cmd_per_lun: 1, use_clustering: 0 };
# 1 "scsi_module.c" 1
# 35 "scsi_module.c"
static int init_this_scsi_driver(void)
{
        driver_template.module = (&__this_module);
        scsi_register_module(1, &driver_template);
        if (driver_template.present)
                return 0;

        scsi_unregister_module(1, &driver_template);
        return -19;
}

static void exit_this_scsi_driver(void)
{
        scsi_unregister_module(1, &driver_template);
}

int init_module(void) __attribute__((alias("init_this_scsi_driver"))); static __inline__ __attribute__((always_inline)) __at
tribute__((always_inline)) __init_module_func_t __init_module_inline(void) { return init_this_scsi_driver; };
void cleanup_module(void) __attribute__((alias("exit_this_scsi_driver"))); static __inline__ __attribute__((always_inline))
__attribute__((always_inline)) __cleanup_module_func_t __cleanup_module_inline(void) { return exit_this_scsi_driver; };
# 723 "qlogicfas.c" 2

The problem is because in 2.4.25pre6 we have
MODULE defined and
drivers/scsi/qlogicfas.c -> #include <linux/module.h>
include/linux/moduleh -> #include <linux/spinlock.h>
include/linux/spinlock.h -> #include <asm/system.h>
include/asm/system.h -> #include <linux/init.h>
as MODULE is defined then wrong functions are taken (we want these for undefined MODULE to be taken later)
then back in drivers/scsi/qlogicfas.c

#ifdef PCMCIA
#undef MODULE
#endif

and again #include <linux/init.h> this time with MODULE undefined
	
-- 
Arkadiusz Miśkiewicz    CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PLD/Linux

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.4.25pre6 and qlogic pcmcia driver
  2004-01-21  1:32     ` Arkadiusz Miskiewicz
@ 2004-01-22 23:18       ` Randy.Dunlap
  2004-01-28 11:57         ` Marcelo Tosatti
  0 siblings, 1 reply; 5+ messages in thread
From: Randy.Dunlap @ 2004-01-22 23:18 UTC (permalink / raw)
  To: Arkadiusz Miskiewicz, dledford
  Cc: marcelo.tosatti, linux-scsi, andersen, fischer

(moved to linux-scsi)

On Wed, 21 Jan 2004 02:32:43 +0100 Arkadiusz Miskiewicz <arekm@pld-linux.org> wrote:

| Dnia wto 20. stycznia 2004 19:11, Randy.Dunlap napisa³:
| > On Tue, 20 Jan 2004 14:01:54 -0200 (BRST) Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:
| > | Same here, 2.4.24 does not show this behaviour.
| > |
| > | I can't find the guilty modification in 2.4.25-pre.
| >
| > Same problem with aha152x pcmcia being built as a module.
| >
| > I also don't see any changes that would be causing this...
| >
| > It's clear that this problem should be detected, since
| > scsi/qlogicfas.c and scsi/pcmcia/qlogic_stub.c both
| > #include <linux/init.h>, so both of them define the module
| > init and cleanup functions.  I don't see how this worked
| > in the past, unless it was due to some tools that missed
| > detecting the duplicated functions.
| This change causes whole problem:
| 
| diff -Naur -p -X /home/marcelo/lib/dontdiff linux-2.4.24/include/linux/spinlock.h linux-2.4.25-pre6/include/linux/spinlock.h
| --- linux-2.4.24/include/linux/spinlock.h       2002-11-28 23:53:15.000000000 +0000
| +++ linux-2.4.25-pre6/include/linux/spinlock.h  2004-01-16 12:20:45.000000000 +0000
| @@ -3,6 +3,8 @@
| 
|  #include <linux/config.h>
| 
| +#include <asm/system.h>
| +
[snip]

| The problem is because in 2.4.25pre6 we have
| MODULE defined and
| drivers/scsi/qlogicfas.c -> #include <linux/module.h>
| include/linux/moduleh -> #include <linux/spinlock.h>
| include/linux/spinlock.h -> #include <asm/system.h>
| include/asm/system.h -> #include <linux/init.h>
| as MODULE is defined then wrong functions are taken (we want these for undefined MODULE to be taken later)
| then back in drivers/scsi/qlogicfas.c
| 
| #ifdef PCMCIA
| #undef MODULE
| #endif
| 
| and again #include <linux/init.h> this time with MODULE undefined

Thanks for finding/isolating that one...  wow.

Is reverting that change to include/linux/spinlock.h a possibility?

If not, here's a patch that fixes 3 SCSI PCMCIA modules so that they
will build in 2.4.25-pre6.  Not tested....

Is it OK Not to include scsi_module.c for these PCMCIA modules?
That's where the problem comes, and they don't use those functions
AFAICT.

Comments?

--
~Randy
kernel-janitors project:  http://janitor.kernelnewbies.org/


description:	repair scsi/pcmcia modules so that they can build
		by only including scsi_module.c for non-PCMCIA builds;
		qlogicfas:  fix parameter type to scsi_unregister();

patch_name:	scsi_pcmcia_modules.patch
product_versions: linux-2425-pre6
maintainer:	Doug Ledford et al (dledford@redhat.com)
		Juergen Fischer <fischer@norbit.de> (aha152x)

diffstat:=
 drivers/scsi/aha152x.c   |   10 ++++++----
 drivers/scsi/fdomain.c   |    2 ++
 drivers/scsi/qlogicfas.c |   12 +++++++-----
 3 files changed, 15 insertions(+), 9 deletions(-)


diff -Naurp ./drivers/scsi/qlogicfas.c~pcmc_module ./drivers/scsi/qlogicfas.c
--- ./drivers/scsi/qlogicfas.c~pcmc_module	2003-06-13 07:51:36.000000000 -0700
+++ ./drivers/scsi/qlogicfas.c	2004-01-22 15:09:51.000000000 -0800
@@ -111,10 +111,6 @@
 
 #include <linux/module.h>
 
-#ifdef PCMCIA
-#undef MODULE
-#endif 
-
 #include <linux/blk.h>	/* to get disk capacity */
 #include <linux/kernel.h>
 #include <linux/string.h>
@@ -131,6 +127,10 @@
 #include "qlogicfas.h"
 #include <linux/stat.h>
 
+#ifdef PCMCIA
+#undef MODULE
+#endif 
+
 /*----------------------------------------------------------------*/
 /* driver state info, local to driver */
 static int	    qbase;	/* Port */
@@ -647,7 +647,7 @@ host->proc_name =  "qlogicfas";
 	if(request_irq(qlirq, do_ql_ihandl, SA_SHIRQ, "qlogicfas", hreg) < 0)
 #endif	
 	{
-		scsi_unregister(host);
+		scsi_unregister(hreg);
 		goto err_release_mem;
 	}
 #endif
@@ -717,7 +717,9 @@ const char	*qlogicfas_info(struct Scsi_H
 }
 MODULE_LICENSE("GPL");
 
+#ifndef PCMCIA
 /* Eventually this will go into an include file, but this will be later */
 static Scsi_Host_Template driver_template = QLOGICFAS;
 #include "scsi_module.c"
+#endif
 
diff -Naurp ./drivers/scsi/aha152x.c~pcmc_module ./drivers/scsi/aha152x.c
--- ./drivers/scsi/aha152x.c~pcmc_module	2003-08-25 04:44:42.000000000 -0700
+++ ./drivers/scsi/aha152x.c	2004-01-22 14:50:37.000000000 -0800
@@ -222,10 +222,6 @@
 
 #include <linux/module.h>
 
-#if defined(PCMCIA)
-#undef MODULE
-#endif
-
 #include <linux/sched.h>
 #include <asm/irq.h>
 #include <asm/io.h>
@@ -254,6 +250,10 @@
 
 #include <scsi/scsicam.h>
 
+#if defined(PCMCIA)
+#undef MODULE
+#endif
+
 /* DEFINES */
 
 /* For PCMCIA cards, always use AUTOCONF */
@@ -3951,7 +3951,9 @@ int aha152x_proc_info(char *buffer, char
 	return thislength < length ? thislength : length;
 }
 
+#ifndef PCMCIA
 /* Eventually this will go into an include file, but this will be later */
 static Scsi_Host_Template driver_template = AHA152X;
 
 #include "scsi_module.c"
+#endif
diff -Naurp ./drivers/scsi/fdomain.c~pcmc_module ./drivers/scsi/fdomain.c
--- ./drivers/scsi/fdomain.c~pcmc_module	2002-11-28 15:53:14.000000000 -0800
+++ ./drivers/scsi/fdomain.c	2004-01-22 14:53:56.000000000 -0800
@@ -2046,7 +2046,9 @@ int fdomain_16x0_release(struct Scsi_Hos
 
 MODULE_LICENSE("GPL");
 
+#ifndef PCMCIA
 /* Eventually this will go into an include file, but this will be later */
 static Scsi_Host_Template driver_template = FDOMAIN_16X0;
 
 #include "scsi_module.c"
+#endif
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: 2.4.25pre6 and qlogic pcmcia driver
  2004-01-22 23:18       ` Randy.Dunlap
@ 2004-01-28 11:57         ` Marcelo Tosatti
  0 siblings, 0 replies; 5+ messages in thread
From: Marcelo Tosatti @ 2004-01-28 11:57 UTC (permalink / raw)
  To: Randy.Dunlap
  Cc: Arkadiusz Miskiewicz, dledford, marcelo.tosatti, linux-scsi,
	andersen, fischer, David S. Miller, ralf


Randy, others,

I will apply your untested fixes, however I wonder if it might be better
to just undo the spinlock.h addition of "#include <asm/system.h>".

Would be good to have someone with the cards to test it.


On Thu, 22 Jan 2004, Randy.Dunlap wrote:

> (moved to linux-scsi)
>
> On Wed, 21 Jan 2004 02:32:43 +0100 Arkadiusz Miskiewicz <arekm@pld-linux.org> wrote:
>
> | Dnia wto 20. stycznia 2004 19:11, Randy.Dunlap napisa³:
> | > On Tue, 20 Jan 2004 14:01:54 -0200 (BRST) Marcelo Tosatti <marcelo.tosatti@cyclades.com> wrote:
> | > | Same here, 2.4.24 does not show this behaviour.
> | > |
> | > | I can't find the guilty modification in 2.4.25-pre.
> | >
> | > Same problem with aha152x pcmcia being built as a module.
> | >
> | > I also don't see any changes that would be causing this...
> | >
> | > It's clear that this problem should be detected, since
> | > scsi/qlogicfas.c and scsi/pcmcia/qlogic_stub.c both
> | > #include <linux/init.h>, so both of them define the module
> | > init and cleanup functions.  I don't see how this worked
> | > in the past, unless it was due to some tools that missed
> | > detecting the duplicated functions.
> | This change causes whole problem:
> |
> | diff -Naur -p -X /home/marcelo/lib/dontdiff linux-2.4.24/include/linux/spinlock.h linux-2.4.25-pre6/include/linux/spinlock.h
> | --- linux-2.4.24/include/linux/spinlock.h       2002-11-28 23:53:15.000000000 +0000
> | +++ linux-2.4.25-pre6/include/linux/spinlock.h  2004-01-16 12:20:45.000000000 +0000
> | @@ -3,6 +3,8 @@
> |
> |  #include <linux/config.h>
> |
> | +#include <asm/system.h>
> | +
> [snip]
>
> | The problem is because in 2.4.25pre6 we have
> | MODULE defined and
> | drivers/scsi/qlogicfas.c -> #include <linux/module.h>
> | include/linux/moduleh -> #include <linux/spinlock.h>
> | include/linux/spinlock.h -> #include <asm/system.h>
> | include/asm/system.h -> #include <linux/init.h>
> | as MODULE is defined then wrong functions are taken (we want these for undefined MODULE to be taken later)
> | then back in drivers/scsi/qlogicfas.c
> |
> | #ifdef PCMCIA
> | #undef MODULE
> | #endif
> |
> | and again #include <linux/init.h> this time with MODULE undefined
>
> Thanks for finding/isolating that one...  wow.
>
> Is reverting that change to include/linux/spinlock.h a possibility?
>
> If not, here's a patch that fixes 3 SCSI PCMCIA modules so that they
> will build in 2.4.25-pre6.  Not tested....
>
> Is it OK Not to include scsi_module.c for these PCMCIA modules?
> That's where the problem comes, and they don't use those functions
> AFAICT.
>
> Comments?
>
> --
> ~Randy
> kernel-janitors project:  http://janitor.kernelnewbies.org/
>
>
> description:	repair scsi/pcmcia modules so that they can build
> 		by only including scsi_module.c for non-PCMCIA builds;
> 		qlogicfas:  fix parameter type to scsi_unregister();
>
> patch_name:	scsi_pcmcia_modules.patch
> product_versions: linux-2425-pre6
> maintainer:	Doug Ledford et al (dledford@redhat.com)
> 		Juergen Fischer <fischer@norbit.de> (aha152x)
>
> diffstat:=
>  drivers/scsi/aha152x.c   |   10 ++++++----
>  drivers/scsi/fdomain.c   |    2 ++
>  drivers/scsi/qlogicfas.c |   12 +++++++-----
>  3 files changed, 15 insertions(+), 9 deletions(-)
>
>
> diff -Naurp ./drivers/scsi/qlogicfas.c~pcmc_module ./drivers/scsi/qlogicfas.c
> --- ./drivers/scsi/qlogicfas.c~pcmc_module	2003-06-13 07:51:36.000000000 -0700
> +++ ./drivers/scsi/qlogicfas.c	2004-01-22 15:09:51.000000000 -0800
> @@ -111,10 +111,6 @@
>
>  #include <linux/module.h>
>
> -#ifdef PCMCIA
> -#undef MODULE
> -#endif
> -
>  #include <linux/blk.h>	/* to get disk capacity */
>  #include <linux/kernel.h>
>  #include <linux/string.h>
> @@ -131,6 +127,10 @@
>  #include "qlogicfas.h"
>  #include <linux/stat.h>
>
> +#ifdef PCMCIA
> +#undef MODULE
> +#endif
> +
>  /*----------------------------------------------------------------*/
>  /* driver state info, local to driver */
>  static int	    qbase;	/* Port */
> @@ -647,7 +647,7 @@ host->proc_name =  "qlogicfas";
>  	if(request_irq(qlirq, do_ql_ihandl, SA_SHIRQ, "qlogicfas", hreg) < 0)
>  #endif
>  	{
> -		scsi_unregister(host);
> +		scsi_unregister(hreg);
>  		goto err_release_mem;
>  	}
>  #endif
> @@ -717,7 +717,9 @@ const char	*qlogicfas_info(struct Scsi_H
>  }
>  MODULE_LICENSE("GPL");
>
> +#ifndef PCMCIA
>  /* Eventually this will go into an include file, but this will be later */
>  static Scsi_Host_Template driver_template = QLOGICFAS;
>  #include "scsi_module.c"
> +#endif
>
> diff -Naurp ./drivers/scsi/aha152x.c~pcmc_module ./drivers/scsi/aha152x.c
> --- ./drivers/scsi/aha152x.c~pcmc_module	2003-08-25 04:44:42.000000000 -0700
> +++ ./drivers/scsi/aha152x.c	2004-01-22 14:50:37.000000000 -0800
> @@ -222,10 +222,6 @@
>
>  #include <linux/module.h>
>
> -#if defined(PCMCIA)
> -#undef MODULE
> -#endif
> -
>  #include <linux/sched.h>
>  #include <asm/irq.h>
>  #include <asm/io.h>
> @@ -254,6 +250,10 @@
>
>  #include <scsi/scsicam.h>
>
> +#if defined(PCMCIA)
> +#undef MODULE
> +#endif
> +
>  /* DEFINES */
>
>  /* For PCMCIA cards, always use AUTOCONF */
> @@ -3951,7 +3951,9 @@ int aha152x_proc_info(char *buffer, char
>  	return thislength < length ? thislength : length;
>  }
>
> +#ifndef PCMCIA
>  /* Eventually this will go into an include file, but this will be later */
>  static Scsi_Host_Template driver_template = AHA152X;
>
>  #include "scsi_module.c"
> +#endif
> diff -Naurp ./drivers/scsi/fdomain.c~pcmc_module ./drivers/scsi/fdomain.c
> --- ./drivers/scsi/fdomain.c~pcmc_module	2002-11-28 15:53:14.000000000 -0800
> +++ ./drivers/scsi/fdomain.c	2004-01-22 14:53:56.000000000 -0800
> @@ -2046,7 +2046,9 @@ int fdomain_16x0_release(struct Scsi_Hos
>
>  MODULE_LICENSE("GPL");
>
> +#ifndef PCMCIA
>  /* Eventually this will go into an include file, but this will be later */
>  static Scsi_Host_Template driver_template = FDOMAIN_16X0;
>
>  #include "scsi_module.c"
> +#endif
>
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-01-28 12:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200401180355.01190.arekm@pld-linux.org>
2004-01-20 16:01 ` 2.4.25pre6 and qlogic pcmcia driver Marcelo Tosatti
2004-01-20 18:11   ` Randy.Dunlap
2004-01-21  1:32     ` Arkadiusz Miskiewicz
2004-01-22 23:18       ` Randy.Dunlap
2004-01-28 11:57         ` Marcelo Tosatti

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.