Scroll to navigation

__STARGET_FOR_EACH_D(9) SCSI mid layer __STARGET_FOR_EACH_D(9)

NAME

__starget_for_each_device - helper to walk all devices of a target (UNLOCKED)

SYNOPSIS

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

ARGUMENTS

struct scsi_target * starget

target whose devices we want to iterate over.

void * data

parameter for callback fn()

void (*)(struct scsi_device *, void *) 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 <James.Bottomley@hansenpartnership.com>

Author.

Rob Landley <rob@landley.net>

Author.

COPYRIGHT

July 2017 Kernel Hackers Manual 4.12