Re: [PATCH] helper for device list traversal

From: Geert Uytterhoeven
Date: Sat Sep 27 2003 - 07:17:26 EST


On Sat, 27 Sep 2003, Christoph Hellwig wrote:
> On Sat, Sep 27, 2003 at 01:34:15PM +0200, Geert Uytterhoeven wrote:
> > Is this what we should use to fix the currently broken list traversal[*] in
> > drivers/scsi/{a2091,gvp11,53c7xx}.c?
>
> where does that [*] refere to?

To the part below. Sorry, I changed the structure of the mail but forgot to
remove the [*].

> > Currently ut uses
> >
> > struct Scsi_Host *instance;
> > for (instance = first_instance; instance &&
> > instance->hostt == xxx_template; instance = instance->next)
> >
> > bust Scsi_Host.next was removed a while ago...
>
> Most users of that construct want to use scsi_lookup_host (if they
> looked for a specific host struct).

The A2091 and GVP-II drivers want to traverse the list of SCSI host adapters in
their interrupt handler, to find their Scsi_Host instances and check whether
the (shared) interrupt was meant for one of them.

An alternative would be to register the interrupt handler multiple times and
use the Scsi_Host instance pointer as the interrupt handler data pointer.

For 53c7xx it's a bit more complex, I don't know anything about its internals.

In all 3 cases, I don't have the hardware...

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/