SYNOPSIS

void __starget_for_each_device(struct scsi_target * starget, void * data, void (*fn) (struct scsi_device *, void *));

ARGUMENTS

starget

target whose devices we want to iterate over.

data

parameter for callback @fn

fn

callback function that is invoked for each device

DESCRIPTION

This traverses over each device of starget. It does _not_ take a reference on the scsi_device, so the whole loop must be protected by shost->host_lock.

NOTE

The only reason why drivers would want to use this is because they need to access the device list in irq context. Otherwise you really want to use starget_for_each_device instead.

AUTHORS

James Bottomley <[email protected]>

Author.

Rob Landley <[email protected]>

Author.

COPYRIGHT