Hi!
I've been trying to compile the Symbios 53c416 SCSI host adapter but it
chokes when trying to compile sym53c416.c. AFAIK, this happens with
2.5.1 and later kernels and did _not_ happen with any 2.4 kernel. I
reproduced this on both 2.5.1, 2.5.2 and 2.5.2-dj3. Here's the output:
gcc -D__KERNEL__ -I/usr/local/src/devel/linux/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=i586 -c -o sym53c416.o sym53c416.c
sym53c416.c: In function `sym53c416_intr_handle':
sym53c416.c:362: `io_request_lock' undeclared (first use in this
function)
sym53c416.c:362: (Each undeclared identifier is reported only once
sym53c416.c:362: for each function it appears in.)
make[3]: *** [sym53c416.o] Error 1
make[3]: Leaving directory `/usr/local/src/devel/linux/drivers/scsi'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/local/src/devel/linux/drivers/scsi'
make[1]: *** [_subdir_scsi] Error 2
make[1]: Leaving directory `/usr/local/src/devel/linux/drivers'
make: *** [_dir_drivers] Error 2
If it is of any help, the .config used goes attached.
I'm a newbie though I see <linux/blk.h> is included. Still it says
io_request_lock is undeclared... should be trivial but goes beyond my
knowledge :)
Thanks in advance
// Paulo Andre'
/~\ The ASCII
\ / Ribbon Campaign
X Against HTML
/ \ Email!
On Sun, 27 Jan 2002 20:12:13 +0000
"Paulo Andre'" <[email protected]> wrote:
> sym53c416.c: In function `sym53c416_intr_handle':
> sym53c416.c:362: `io_request_lock' undeclared (first use in this
> function)
> sym53c416.c:362: (Each undeclared identifier is reported only once
> sym53c416.c:362: for each function it appears in.)
> I'm a newbie though I see <linux/blk.h> is included. Still it says
> io_request_lock is undeclared... should be trivial but goes beyond my
> knowledge :)
It seems that io_request_lock will be completely removed in 2.5 tree, so
there is no io_request_lock in linux/blk.h. This global lock now exsist
only in scsi layer, and it will be replaced by Scsi_Host->host_lock soon.
So i hope this patch will help a bit in this direction.
2 Paulo Andre: DON'T use this patch before Jens Axboe will agree with it,
because i even haven't scsi here, so this patch was written only with
common sence. I hope this will help you.
>
> Thanks in advance
>
> // Paulo Andre'
Evgeniy Polyakov ( s0mbre ).
> So i hope this patch will help a bit in this direction.
Ooops, forgot to attach.
Evgeniy Polyakov ( s0mbre ).
On 2002.01.28 01:38 Evgeniy Polyakov wrote:
> It seems that io_request_lock will be completely removed in 2.5 tree,
> so
> there is no io_request_lock in linux/blk.h. This global lock now
> exsist
> only in scsi layer, and it will be replaced by Scsi_Host->host_lock
> soon.
> So i hope this patch will help a bit in this direction.
>
> 2 Paulo Andre: DON'T use this patch before Jens Axboe will agree with
> it,
> because i even haven't scsi here, so this patch was written only with
> common sence. I hope this will help you.
I see your point. I was also thinking about something along those
lines. Anyway, what patch are you talking about? Perhaps you forgot to
paste/attach it to your email?
And perhaps Jens could also give me a word about this?
Cheers Evgeniy and thanks again,
// Paulo Andre'
On 2002.01.28 01:41 Evgeniy Polyakov wrote:
>
> > So i hope this patch will help a bit in this direction.
>
> Ooops, forgot to attach.
>
> Evgeniy Polyakov ( s0mbre ).
>
Alright, I got it now, will investigate. It's not problematic to use it
either way since it's not intended for production use. Not now, anyway.
Thanks!
// Paulo Andre'
On 2002.01.28 01:41 Evgeniy Polyakov wrote:
>
> > So i hope this patch will help a bit in this direction.
>
> Ooops, forgot to attach.
>
> Evgeniy Polyakov ( s0mbre ).
Only the callbacks to scsi_done() need to be protected by
a spin_lock on host_lock. You may need to set up another
lock (driver or host specific) for the other case(s).
Unfortunately there are more problems with this driver
because it uses the old error handler scheme which has
been dropped in the lk 2.5 series. Compare the scsi_debug
driver in lk 2.5.2 with the one in lk 2.5.3-pre5 for an
example of what is involved. Start with the header and
look at the "eh_..." entries.
Good luck.
Doug Gilbert