[3324] in linux-scsi channel archive
Re: SCSI host numbering (patch)
daemon@ATHENA.MIT.EDU (Richard Gooch)
Sat Feb 14 07:49:29 1998
Date: Sat, 14 Feb 1998 23:44:21 +1100
From: Richard Gooch <rgooch@atnf.CSIRO.AU>
To: Dario_Ballabio@milano.europe.dg.com (Dario_Ballabio)
Cc: linux-scsi@vger.rutgers.edu
In-Reply-To: <199802141111.MAA14699@milano.europe.dg.com>
Dario Ballabio writes:
> Actually it is quite possible to have a scsi driver compiled into
> the kernel which activates a group of scsi boards. At a later time
> the _same_ scsi driver can be loaded as a module and it can take control
> of another group of scsi boards. I do this in my normal working
> environment in which the eata driver is compiled into the kernel
> and takes the boot time options "eata=0x5c88" in order to initialize
> only the eata board in eisa slot 5. At a later time I insmod eata.o
> which initializes all the other eata boards.
>
> [note that while eata is compiled into the kernel, the eata.o module is
> simply created by the following command line:
>
> gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 \
> -fomit-frame-pointer -fno-strength-reduce -pipe -m486 -malign-loops=2 \
> -malign-jumps=2 -malign-functions=2 -DCPU=586 -DMODULE -c -o eata.o eata.c
>
> and copied into the appropriate directory.]
>
> So your patch should take into account the fact that two instances of the
> same scsi driver can be simoultaneously active.....
I think that loading the same driver twice is a pretty dangerous way
of operating. If the driver exports non module-specific symbols, this
would cause a clash.
It would seem to me that it would be better to have the eata driver
accept /proc or sysctl() commands to probe for the remaining
devices. Building a driver into the kernel and then insmoding it seems
like a gross hack.
Regards,
Richard....