mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-28 16:52:18 +00:00
scsi: Convert SCSI drivers to .sdev_configure()
The only difference between the .sdev_configure() and .slave_configure() methods is that the former accepts an additional 'limits' argument. Convert all SCSI drivers that define a .slave_configure() method to .sdev_configure(). This patch prepares for removing the .slave_configure() method. No functionality has been changed. Acked-by: Geoff Levand <geoff@infradead.org> # for ps3rom Acked-by: Khalid Aziz <khalid@gonehiking.org> # for the BusLogic driver Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20241022180839.2712439-4-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
47c2e30afc
commit
49515b7fe5
@ -2844,7 +2844,8 @@ static int srp_target_alloc(struct scsi_target *starget)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int srp_slave_configure(struct scsi_device *sdev)
|
||||
static int srp_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *shost = sdev->host;
|
||||
struct srp_target_port *target = host_to_target(shost);
|
||||
@ -3067,7 +3068,7 @@ static const struct scsi_host_template srp_template = {
|
||||
.name = "InfiniBand SRP initiator",
|
||||
.proc_name = DRV_NAME,
|
||||
.target_alloc = srp_target_alloc,
|
||||
.slave_configure = srp_slave_configure,
|
||||
.sdev_configure = srp_sdev_configure,
|
||||
.info = srp_target_info,
|
||||
.init_cmd_priv = srp_init_cmd_priv,
|
||||
.exit_cmd_priv = srp_exit_cmd_priv,
|
||||
|
@ -114,7 +114,7 @@ static const struct scsi_host_template mptfc_driver_template = {
|
||||
.queuecommand = mptfc_qcmd,
|
||||
.target_alloc = mptfc_target_alloc,
|
||||
.sdev_init = mptfc_sdev_init,
|
||||
.slave_configure = mptscsih_slave_configure,
|
||||
.sdev_configure = mptscsih_sdev_configure,
|
||||
.target_destroy = mptfc_target_destroy,
|
||||
.sdev_destroy = mptscsih_sdev_destroy,
|
||||
.change_queue_depth = mptscsih_change_queue_depth,
|
||||
|
@ -1710,7 +1710,7 @@ mptsas_firmware_event_work(struct work_struct *work)
|
||||
|
||||
|
||||
static int
|
||||
mptsas_slave_configure(struct scsi_device *sdev)
|
||||
mptsas_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *host = sdev->host;
|
||||
MPT_SCSI_HOST *hd = shost_priv(host);
|
||||
@ -1736,7 +1736,7 @@ mptsas_slave_configure(struct scsi_device *sdev)
|
||||
mptsas_add_device_component_starget(ioc, scsi_target(sdev));
|
||||
|
||||
out:
|
||||
return mptscsih_slave_configure(sdev);
|
||||
return mptscsih_sdev_configure(sdev, lim);
|
||||
}
|
||||
|
||||
static int
|
||||
@ -2006,7 +2006,7 @@ static const struct scsi_host_template mptsas_driver_template = {
|
||||
.queuecommand = mptsas_qcmd,
|
||||
.target_alloc = mptsas_target_alloc,
|
||||
.sdev_init = mptsas_sdev_init,
|
||||
.slave_configure = mptsas_slave_configure,
|
||||
.sdev_configure = mptsas_sdev_configure,
|
||||
.target_destroy = mptsas_target_destroy,
|
||||
.sdev_destroy = mptscsih_sdev_destroy,
|
||||
.change_queue_depth = mptscsih_change_queue_depth,
|
||||
|
@ -2399,7 +2399,7 @@ mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth)
|
||||
* Return non-zero if fails.
|
||||
*/
|
||||
int
|
||||
mptscsih_slave_configure(struct scsi_device *sdev)
|
||||
mptscsih_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *sh = sdev->host;
|
||||
VirtTarget *vtarget;
|
||||
@ -3303,7 +3303,7 @@ EXPORT_SYMBOL(mptscsih_show_info);
|
||||
EXPORT_SYMBOL(mptscsih_info);
|
||||
EXPORT_SYMBOL(mptscsih_qcmd);
|
||||
EXPORT_SYMBOL(mptscsih_sdev_destroy);
|
||||
EXPORT_SYMBOL(mptscsih_slave_configure);
|
||||
EXPORT_SYMBOL(mptscsih_sdev_configure);
|
||||
EXPORT_SYMBOL(mptscsih_abort);
|
||||
EXPORT_SYMBOL(mptscsih_dev_reset);
|
||||
EXPORT_SYMBOL(mptscsih_target_reset);
|
||||
|
@ -117,7 +117,8 @@ extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt);
|
||||
extern int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel,
|
||||
u8 id, u64 lun, int ctx2abort, ulong timeout);
|
||||
extern void mptscsih_sdev_destroy(struct scsi_device *device);
|
||||
extern int mptscsih_slave_configure(struct scsi_device *device);
|
||||
extern int mptscsih_sdev_configure(struct scsi_device *device,
|
||||
struct queue_limits *lim);
|
||||
extern int mptscsih_abort(struct scsi_cmnd * SCpnt);
|
||||
extern int mptscsih_dev_reset(struct scsi_cmnd * SCpnt);
|
||||
extern int mptscsih_target_reset(struct scsi_cmnd * SCpnt);
|
||||
|
@ -746,7 +746,8 @@ static int mptspi_sdev_init(struct scsi_device *sdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mptspi_slave_configure(struct scsi_device *sdev)
|
||||
static int mptspi_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct _MPT_SCSI_HOST *hd = shost_priv(sdev->host);
|
||||
VirtTarget *vtarget = scsi_target(sdev)->hostdata;
|
||||
@ -754,7 +755,7 @@ static int mptspi_slave_configure(struct scsi_device *sdev)
|
||||
|
||||
mptspi_initTarget(hd, vtarget, sdev);
|
||||
|
||||
ret = mptscsih_slave_configure(sdev);
|
||||
ret = mptscsih_sdev_configure(sdev, lim);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -829,7 +830,7 @@ static const struct scsi_host_template mptspi_driver_template = {
|
||||
.queuecommand = mptspi_qcmd,
|
||||
.target_alloc = mptspi_target_alloc,
|
||||
.sdev_init = mptspi_sdev_init,
|
||||
.slave_configure = mptspi_slave_configure,
|
||||
.sdev_configure = mptspi_sdev_configure,
|
||||
.target_destroy = mptspi_target_destroy,
|
||||
.sdev_destroy = mptspi_sdev_destroy,
|
||||
.change_queue_depth = mptscsih_change_queue_depth,
|
||||
|
@ -49,7 +49,8 @@ static void zfcp_scsi_sdev_destroy(struct scsi_device *sdev)
|
||||
put_device(&zfcp_sdev->port->dev);
|
||||
}
|
||||
|
||||
static int zfcp_scsi_slave_configure(struct scsi_device *sdp)
|
||||
static int zfcp_scsi_sdev_configure(struct scsi_device *sdp,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
if (sdp->tagged_supported)
|
||||
scsi_change_queue_depth(sdp, default_depth);
|
||||
@ -428,7 +429,7 @@ static const struct scsi_host_template zfcp_scsi_host_template = {
|
||||
.eh_target_reset_handler = zfcp_scsi_eh_target_reset_handler,
|
||||
.eh_host_reset_handler = zfcp_scsi_eh_host_reset_handler,
|
||||
.sdev_init = zfcp_scsi_sdev_init,
|
||||
.slave_configure = zfcp_scsi_slave_configure,
|
||||
.sdev_configure = zfcp_scsi_sdev_configure,
|
||||
.sdev_destroy = zfcp_scsi_sdev_destroy,
|
||||
.change_queue_depth = scsi_change_queue_depth,
|
||||
.host_reset = zfcp_scsi_sysfs_host_reset,
|
||||
|
@ -1968,13 +1968,14 @@ static char *twa_string_lookup(twa_message_type *table, unsigned int code)
|
||||
} /* End twa_string_lookup() */
|
||||
|
||||
/* This function gets called when a disk is coming on-line */
|
||||
static int twa_slave_configure(struct scsi_device *sdev)
|
||||
static int twa_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
/* Force 60 second timeout */
|
||||
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
|
||||
|
||||
return 0;
|
||||
} /* End twa_slave_configure() */
|
||||
} /* End twa_sdev_configure() */
|
||||
|
||||
static const struct scsi_host_template driver_template = {
|
||||
.module = THIS_MODULE,
|
||||
@ -1984,7 +1985,7 @@ static const struct scsi_host_template driver_template = {
|
||||
.bios_param = twa_scsi_biosparam,
|
||||
.change_queue_depth = scsi_change_queue_depth,
|
||||
.can_queue = TW_Q_LENGTH-2,
|
||||
.slave_configure = twa_slave_configure,
|
||||
.sdev_configure = twa_sdev_configure,
|
||||
.this_id = -1,
|
||||
.sg_tablesize = TW_APACHE_MAX_SGL_LENGTH,
|
||||
.max_sectors = TW_MAX_SECTORS,
|
||||
|
@ -1523,13 +1523,14 @@ static void twl_shutdown(struct pci_dev *pdev)
|
||||
} /* End twl_shutdown() */
|
||||
|
||||
/* This function configures unit settings when a unit is coming on-line */
|
||||
static int twl_slave_configure(struct scsi_device *sdev)
|
||||
static int twl_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
/* Force 60 second timeout */
|
||||
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
|
||||
|
||||
return 0;
|
||||
} /* End twl_slave_configure() */
|
||||
} /* End twl_sdev_configure() */
|
||||
|
||||
static const struct scsi_host_template driver_template = {
|
||||
.module = THIS_MODULE,
|
||||
@ -1539,7 +1540,7 @@ static const struct scsi_host_template driver_template = {
|
||||
.bios_param = twl_scsi_biosparam,
|
||||
.change_queue_depth = scsi_change_queue_depth,
|
||||
.can_queue = TW_Q_LENGTH-2,
|
||||
.slave_configure = twl_slave_configure,
|
||||
.sdev_configure = twl_sdev_configure,
|
||||
.this_id = -1,
|
||||
.sg_tablesize = TW_LIBERATOR_MAX_SGL_LENGTH,
|
||||
.max_sectors = TW_MAX_SECTORS,
|
||||
|
@ -172,7 +172,7 @@
|
||||
Initialize queues correctly when loading with no valid units.
|
||||
1.02.00.034 - Fix tw_decode_bits() to handle multiple errors.
|
||||
Add support for user configurable cmd_per_lun.
|
||||
Add support for sht->slave_configure().
|
||||
Add support for sht->sdev_configure().
|
||||
1.02.00.035 - Improve tw_allocate_memory() memory allocation.
|
||||
Fix tw_chrdev_ioctl() to sleep correctly.
|
||||
1.02.00.036 - Increase character ioctl timeout to 60 seconds.
|
||||
@ -2221,13 +2221,13 @@ static void tw_shutdown(struct pci_dev *pdev)
|
||||
} /* End tw_shutdown() */
|
||||
|
||||
/* This function gets called when a disk is coming online */
|
||||
static int tw_slave_configure(struct scsi_device *sdev)
|
||||
static int tw_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
/* Force 60 second timeout */
|
||||
blk_queue_rq_timeout(sdev->request_queue, 60 * HZ);
|
||||
|
||||
return 0;
|
||||
} /* End tw_slave_configure() */
|
||||
} /* End tw_sdev_configure() */
|
||||
|
||||
static const struct scsi_host_template driver_template = {
|
||||
.module = THIS_MODULE,
|
||||
@ -2237,7 +2237,7 @@ static const struct scsi_host_template driver_template = {
|
||||
.bios_param = tw_scsi_biosparam,
|
||||
.change_queue_depth = scsi_change_queue_depth,
|
||||
.can_queue = TW_Q_LENGTH-2,
|
||||
.slave_configure = tw_slave_configure,
|
||||
.sdev_configure = tw_sdev_configure,
|
||||
.this_id = -1,
|
||||
.sg_tablesize = TW_MAX_SGL_LENGTH,
|
||||
.max_sectors = TW_MAX_SECTORS,
|
||||
|
@ -159,7 +159,8 @@ STATIC int NCR_700_host_reset(struct scsi_cmnd * SCpnt);
|
||||
STATIC void NCR_700_chip_setup(struct Scsi_Host *host);
|
||||
STATIC void NCR_700_chip_reset(struct Scsi_Host *host);
|
||||
STATIC int NCR_700_sdev_init(struct scsi_device *SDpnt);
|
||||
STATIC int NCR_700_slave_configure(struct scsi_device *SDpnt);
|
||||
STATIC int NCR_700_sdev_configure(struct scsi_device *SDpnt,
|
||||
struct queue_limits *lim);
|
||||
STATIC void NCR_700_sdev_destroy(struct scsi_device *SDpnt);
|
||||
static int NCR_700_change_queue_depth(struct scsi_device *SDpnt, int depth);
|
||||
|
||||
@ -330,7 +331,7 @@ NCR_700_detect(struct scsi_host_template *tpnt,
|
||||
tpnt->can_queue = NCR_700_COMMAND_SLOTS_PER_HOST;
|
||||
tpnt->sg_tablesize = NCR_700_SG_SEGMENTS;
|
||||
tpnt->cmd_per_lun = NCR_700_CMD_PER_LUN;
|
||||
tpnt->slave_configure = NCR_700_slave_configure;
|
||||
tpnt->sdev_configure = NCR_700_sdev_configure;
|
||||
tpnt->sdev_destroy = NCR_700_sdev_destroy;
|
||||
tpnt->sdev_init = NCR_700_sdev_init;
|
||||
tpnt->change_queue_depth = NCR_700_change_queue_depth;
|
||||
@ -2029,7 +2030,7 @@ NCR_700_sdev_init(struct scsi_device *SDp)
|
||||
}
|
||||
|
||||
STATIC int
|
||||
NCR_700_slave_configure(struct scsi_device *SDp)
|
||||
NCR_700_sdev_configure(struct scsi_device *SDp, struct queue_limits *lim)
|
||||
{
|
||||
struct NCR_700_Host_Parameters *hostdata =
|
||||
(struct NCR_700_Host_Parameters *)SDp->host->hostdata[0];
|
||||
|
@ -2153,14 +2153,15 @@ static void __init blogic_inithoststruct(struct blogic_adapter *adapter,
|
||||
}
|
||||
|
||||
/*
|
||||
blogic_slaveconfig will actually set the queue depth on individual
|
||||
blogic_sdev_configure will actually set the queue depth on individual
|
||||
scsi devices as they are permanently added to the device chain. We
|
||||
shamelessly rip off the SelectQueueDepths code to make this work mostly
|
||||
like it used to. Since we don't get called once at the end of the scan
|
||||
but instead get called for each device, we have to do things a bit
|
||||
differently.
|
||||
*/
|
||||
static int blogic_slaveconfig(struct scsi_device *dev)
|
||||
static int blogic_sdev_configure(struct scsi_device *dev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct blogic_adapter *adapter =
|
||||
(struct blogic_adapter *) dev->host->hostdata;
|
||||
@ -3672,7 +3673,7 @@ static const struct scsi_host_template blogic_template = {
|
||||
.name = "BusLogic",
|
||||
.info = blogic_drvr_info,
|
||||
.queuecommand = blogic_qcmd,
|
||||
.slave_configure = blogic_slaveconfig,
|
||||
.sdev_configure = blogic_sdev_configure,
|
||||
.bios_param = blogic_diskparam,
|
||||
.eh_host_reset_handler = blogic_hostreset,
|
||||
#if 0
|
||||
|
@ -1274,7 +1274,8 @@ static inline void blogic_incszbucket(unsigned int *cmdsz_buckets,
|
||||
static const char *blogic_drvr_info(struct Scsi_Host *);
|
||||
static int blogic_qcmd(struct Scsi_Host *h, struct scsi_cmnd *);
|
||||
static int blogic_diskparam(struct scsi_device *, struct block_device *, sector_t, int *);
|
||||
static int blogic_slaveconfig(struct scsi_device *);
|
||||
static int blogic_sdev_configure(struct scsi_device *,
|
||||
struct queue_limits *lim);
|
||||
static void blogic_qcompleted_ccb(struct blogic_ccb *);
|
||||
static irqreturn_t blogic_inthandler(int, void *);
|
||||
static int blogic_resetadapter(struct blogic_adapter *, bool hard_reset);
|
||||
|
@ -377,15 +377,17 @@ static int aac_biosparm(struct scsi_device *sdev, struct block_device *bdev,
|
||||
}
|
||||
|
||||
/**
|
||||
* aac_slave_configure - compute queue depths
|
||||
* aac_sdev_configure - compute queue depths
|
||||
* @sdev: SCSI device we are considering
|
||||
* @lim: Request queue limits
|
||||
*
|
||||
* Selects queue depths for each target device based on the host adapter's
|
||||
* total capacity and the queue depth supported by the target device.
|
||||
* A queue depth of one automatically disables tagged queueing.
|
||||
*/
|
||||
|
||||
static int aac_slave_configure(struct scsi_device *sdev)
|
||||
static int aac_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct aac_dev *aac = (struct aac_dev *)sdev->host->hostdata;
|
||||
int chn, tid;
|
||||
@ -1487,7 +1489,7 @@ static const struct scsi_host_template aac_driver_template = {
|
||||
.queuecommand = aac_queuecommand,
|
||||
.bios_param = aac_biosparm,
|
||||
.shost_groups = aac_host_groups,
|
||||
.slave_configure = aac_slave_configure,
|
||||
.sdev_configure = aac_sdev_configure,
|
||||
.change_queue_depth = aac_change_queue_depth,
|
||||
.sdev_groups = aac_dev_groups,
|
||||
.eh_abort_handler = aac_eh_abort,
|
||||
|
@ -4496,7 +4496,7 @@ static int AdvInitAsc3550Driver(ADV_DVC_VAR *asc_dvc)
|
||||
|
||||
/*
|
||||
* Microcode operating variables for WDTR, SDTR, and command tag
|
||||
* queuing will be set in slave_configure() based on what a
|
||||
* queuing will be set in sdev_configure() based on what a
|
||||
* device reports it is capable of in Inquiry byte 7.
|
||||
*
|
||||
* If SCSI Bus Resets have been disabled, then directly set
|
||||
@ -5013,7 +5013,7 @@ static int AdvInitAsc38C0800Driver(ADV_DVC_VAR *asc_dvc)
|
||||
|
||||
/*
|
||||
* Microcode operating variables for WDTR, SDTR, and command tag
|
||||
* queuing will be set in slave_configure() based on what a
|
||||
* queuing will be set in sdev_configure() based on what a
|
||||
* device reports it is capable of in Inquiry byte 7.
|
||||
*
|
||||
* If SCSI Bus Resets have been disabled, then directly set
|
||||
@ -5508,7 +5508,7 @@ static int AdvInitAsc38C1600Driver(ADV_DVC_VAR *asc_dvc)
|
||||
|
||||
/*
|
||||
* Microcode operating variables for WDTR, SDTR, and command tag
|
||||
* queuing will be set in slave_configure() based on what a
|
||||
* queuing will be set in sdev_configure() based on what a
|
||||
* device reports it is capable of in Inquiry byte 7.
|
||||
*
|
||||
* If SCSI Bus Resets have been disabled, then directly set
|
||||
@ -7219,7 +7219,7 @@ static void AscAsyncFix(ASC_DVC_VAR *asc_dvc, struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
static void
|
||||
advansys_narrow_slave_configure(struct scsi_device *sdev, ASC_DVC_VAR *asc_dvc)
|
||||
advansys_narrow_sdev_configure(struct scsi_device *sdev, ASC_DVC_VAR *asc_dvc)
|
||||
{
|
||||
ASC_SCSI_BIT_ID_TYPE tid_bit = 1 << sdev->id;
|
||||
ASC_SCSI_BIT_ID_TYPE orig_use_tagged_qng = asc_dvc->use_tagged_qng;
|
||||
@ -7345,7 +7345,7 @@ static void advansys_wide_enable_ppr(ADV_DVC_VAR *adv_dvc,
|
||||
}
|
||||
|
||||
static void
|
||||
advansys_wide_slave_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc)
|
||||
advansys_wide_sdev_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc)
|
||||
{
|
||||
AdvPortAddr iop_base = adv_dvc->iop_base;
|
||||
unsigned short tidmask = 1 << sdev->id;
|
||||
@ -7391,16 +7391,17 @@ advansys_wide_slave_configure(struct scsi_device *sdev, ADV_DVC_VAR *adv_dvc)
|
||||
* Set the number of commands to queue per device for the
|
||||
* specified host adapter.
|
||||
*/
|
||||
static int advansys_slave_configure(struct scsi_device *sdev)
|
||||
static int advansys_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct asc_board *boardp = shost_priv(sdev->host);
|
||||
|
||||
if (ASC_NARROW_BOARD(boardp))
|
||||
advansys_narrow_slave_configure(sdev,
|
||||
&boardp->dvc_var.asc_dvc_var);
|
||||
advansys_narrow_sdev_configure(sdev,
|
||||
&boardp->dvc_var.asc_dvc_var);
|
||||
else
|
||||
advansys_wide_slave_configure(sdev,
|
||||
&boardp->dvc_var.adv_dvc_var);
|
||||
advansys_wide_sdev_configure(sdev,
|
||||
&boardp->dvc_var.adv_dvc_var);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -10612,7 +10613,7 @@ static const struct scsi_host_template advansys_template = {
|
||||
.queuecommand = advansys_queuecommand,
|
||||
.eh_host_reset_handler = advansys_reset,
|
||||
.bios_param = advansys_biosparam,
|
||||
.slave_configure = advansys_slave_configure,
|
||||
.sdev_configure = advansys_sdev_configure,
|
||||
.cmd_size = sizeof(struct advansys_cmd),
|
||||
};
|
||||
|
||||
|
@ -701,7 +701,7 @@ ahd_linux_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
static int
|
||||
ahd_linux_slave_configure(struct scsi_device *sdev)
|
||||
ahd_linux_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
if (bootverbose)
|
||||
sdev_printk(KERN_INFO, sdev, "Slave Configure\n");
|
||||
@ -907,7 +907,7 @@ struct scsi_host_template aic79xx_driver_template = {
|
||||
.max_sectors = 8192,
|
||||
.cmd_per_lun = 2,
|
||||
.sdev_init = ahd_linux_sdev_init,
|
||||
.slave_configure = ahd_linux_slave_configure,
|
||||
.sdev_configure = ahd_linux_sdev_configure,
|
||||
.target_alloc = ahd_linux_target_alloc,
|
||||
.target_destroy = ahd_linux_target_destroy,
|
||||
};
|
||||
|
@ -664,7 +664,7 @@ ahc_linux_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
static int
|
||||
ahc_linux_slave_configure(struct scsi_device *sdev)
|
||||
ahc_linux_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
if (bootverbose)
|
||||
sdev_printk(KERN_INFO, sdev, "Slave Configure\n");
|
||||
@ -792,7 +792,7 @@ struct scsi_host_template aic7xxx_driver_template = {
|
||||
.max_sectors = 8192,
|
||||
.cmd_per_lun = 2,
|
||||
.sdev_init = ahc_linux_sdev_init,
|
||||
.slave_configure = ahc_linux_slave_configure,
|
||||
.sdev_configure = ahc_linux_sdev_configure,
|
||||
.target_alloc = ahc_linux_target_alloc,
|
||||
.target_destroy = ahc_linux_target_destroy,
|
||||
};
|
||||
|
@ -143,7 +143,8 @@ static irqreturn_t arcmsr_interrupt(struct AdapterControlBlock *acb);
|
||||
static void arcmsr_free_irq(struct pci_dev *, struct AdapterControlBlock *);
|
||||
static void arcmsr_wait_firmware_ready(struct AdapterControlBlock *acb);
|
||||
static void arcmsr_set_iop_datetime(struct timer_list *);
|
||||
static int arcmsr_slave_config(struct scsi_device *sdev);
|
||||
static int arcmsr_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim);
|
||||
static int arcmsr_adjust_disk_queue_depth(struct scsi_device *sdev, int queue_depth)
|
||||
{
|
||||
if (queue_depth > ARCMSR_MAX_CMD_PERLUN)
|
||||
@ -160,7 +161,7 @@ static const struct scsi_host_template arcmsr_scsi_host_template = {
|
||||
.eh_abort_handler = arcmsr_abort,
|
||||
.eh_bus_reset_handler = arcmsr_bus_reset,
|
||||
.bios_param = arcmsr_bios_param,
|
||||
.slave_configure = arcmsr_slave_config,
|
||||
.sdev_configure = arcmsr_sdev_configure,
|
||||
.change_queue_depth = arcmsr_adjust_disk_queue_depth,
|
||||
.can_queue = ARCMSR_DEFAULT_OUTSTANDING_CMD,
|
||||
.this_id = ARCMSR_SCSI_INITIATOR_ID,
|
||||
@ -3344,7 +3345,8 @@ static int arcmsr_queue_command_lck(struct scsi_cmnd *cmd)
|
||||
|
||||
static DEF_SCSI_QCMD(arcmsr_queue_command)
|
||||
|
||||
static int arcmsr_slave_config(struct scsi_device *sdev)
|
||||
static int arcmsr_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
unsigned int dev_timeout;
|
||||
|
||||
|
@ -783,7 +783,7 @@ bfad_thread_workq(struct bfad_s *bfad)
|
||||
* Return non-zero if fails.
|
||||
*/
|
||||
static int
|
||||
bfad_im_slave_configure(struct scsi_device *sdev)
|
||||
bfad_im_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
scsi_change_queue_depth(sdev, bfa_lun_queue_depth);
|
||||
return 0;
|
||||
@ -801,7 +801,7 @@ struct scsi_host_template bfad_im_scsi_host_template = {
|
||||
.eh_target_reset_handler = bfad_im_reset_target_handler,
|
||||
|
||||
.sdev_init = bfad_im_sdev_init,
|
||||
.slave_configure = bfad_im_slave_configure,
|
||||
.sdev_configure = bfad_im_sdev_configure,
|
||||
.sdev_destroy = bfad_im_sdev_destroy,
|
||||
|
||||
.this_id = -1,
|
||||
@ -824,7 +824,7 @@ struct scsi_host_template bfad_im_vport_template = {
|
||||
.eh_target_reset_handler = bfad_im_reset_target_handler,
|
||||
|
||||
.sdev_init = bfad_im_sdev_init,
|
||||
.slave_configure = bfad_im_slave_configure,
|
||||
.sdev_configure = bfad_im_sdev_configure,
|
||||
.sdev_destroy = bfad_im_sdev_destroy,
|
||||
|
||||
.this_id = -1,
|
||||
|
@ -2652,7 +2652,8 @@ static int bnx2fc_cpu_offline(unsigned int cpu)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int bnx2fc_slave_configure(struct scsi_device *sdev)
|
||||
static int bnx2fc_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
if (!bnx2fc_queue_depth)
|
||||
return 0;
|
||||
@ -2959,7 +2960,7 @@ static struct scsi_host_template bnx2fc_shost_template = {
|
||||
.dma_boundary = 0x7fff,
|
||||
.max_sectors = 0x3fbf,
|
||||
.track_queue_depth = 1,
|
||||
.slave_configure = bnx2fc_slave_configure,
|
||||
.sdev_configure = bnx2fc_sdev_configure,
|
||||
.shost_groups = bnx2fc_host_groups,
|
||||
.cmd_size = sizeof(struct bnx2fc_priv),
|
||||
};
|
||||
|
@ -2237,7 +2237,7 @@ csio_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
static int
|
||||
csio_slave_configure(struct scsi_device *sdev)
|
||||
csio_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
scsi_change_queue_depth(sdev, csio_lun_qdepth);
|
||||
return 0;
|
||||
@ -2277,7 +2277,7 @@ struct scsi_host_template csio_fcoe_shost_template = {
|
||||
.eh_abort_handler = csio_eh_abort_handler,
|
||||
.eh_device_reset_handler = csio_eh_lun_reset_handler,
|
||||
.sdev_init = csio_sdev_init,
|
||||
.slave_configure = csio_slave_configure,
|
||||
.sdev_configure = csio_sdev_configure,
|
||||
.sdev_destroy = csio_sdev_destroy,
|
||||
.scan_finished = csio_scan_finished,
|
||||
.this_id = -1,
|
||||
@ -2296,7 +2296,7 @@ struct scsi_host_template csio_fcoe_shost_vport_template = {
|
||||
.eh_abort_handler = csio_eh_abort_handler,
|
||||
.eh_device_reset_handler = csio_eh_lun_reset_handler,
|
||||
.sdev_init = csio_sdev_init,
|
||||
.slave_configure = csio_slave_configure,
|
||||
.sdev_configure = csio_sdev_configure,
|
||||
.sdev_destroy = csio_sdev_destroy,
|
||||
.scan_finished = csio_scan_finished,
|
||||
.this_id = -1,
|
||||
|
@ -2261,7 +2261,7 @@ static void esp_init_swstate(struct esp *esp)
|
||||
INIT_LIST_HEAD(&esp->active_cmds);
|
||||
INIT_LIST_HEAD(&esp->esp_cmd_pool);
|
||||
|
||||
/* Start with a clear state, domain validation (via ->slave_configure,
|
||||
/* Start with a clear state, domain validation (via ->sdev_configure,
|
||||
* spi_dv_device()) will attempt to enable SYNC, WIDE, and tagged
|
||||
* commands.
|
||||
*/
|
||||
@ -2463,7 +2463,7 @@ static int esp_sdev_init(struct scsi_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int esp_slave_configure(struct scsi_device *dev)
|
||||
static int esp_sdev_configure(struct scsi_device *dev, struct queue_limits *lim)
|
||||
{
|
||||
struct esp *esp = shost_priv(dev->host);
|
||||
struct esp_target_data *tp = &esp->target[dev->id];
|
||||
@ -2668,7 +2668,7 @@ const struct scsi_host_template scsi_esp_template = {
|
||||
.target_alloc = esp_target_alloc,
|
||||
.target_destroy = esp_target_destroy,
|
||||
.sdev_init = esp_sdev_init,
|
||||
.slave_configure = esp_slave_configure,
|
||||
.sdev_configure = esp_sdev_configure,
|
||||
.sdev_destroy = esp_sdev_destroy,
|
||||
.eh_abort_handler = esp_eh_abort_handler,
|
||||
.eh_bus_reset_handler = esp_eh_bus_reset_handler,
|
||||
|
@ -284,7 +284,8 @@ static int hpsa_change_queue_depth(struct scsi_device *sdev, int qdepth);
|
||||
|
||||
static int hpsa_eh_device_reset_handler(struct scsi_cmnd *scsicmd);
|
||||
static int hpsa_sdev_init(struct scsi_device *sdev);
|
||||
static int hpsa_slave_configure(struct scsi_device *sdev);
|
||||
static int hpsa_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim);
|
||||
static void hpsa_sdev_destroy(struct scsi_device *sdev);
|
||||
|
||||
static void hpsa_update_scsi_devices(struct ctlr_info *h);
|
||||
@ -979,7 +980,7 @@ static const struct scsi_host_template hpsa_driver_template = {
|
||||
.eh_device_reset_handler = hpsa_eh_device_reset_handler,
|
||||
.ioctl = hpsa_ioctl,
|
||||
.sdev_init = hpsa_sdev_init,
|
||||
.slave_configure = hpsa_slave_configure,
|
||||
.sdev_configure = hpsa_sdev_configure,
|
||||
.sdev_destroy = hpsa_sdev_destroy,
|
||||
#ifdef CONFIG_COMPAT
|
||||
.compat_ioctl = hpsa_compat_ioctl,
|
||||
@ -2142,7 +2143,8 @@ static int hpsa_sdev_init(struct scsi_device *sdev)
|
||||
|
||||
/* configure scsi device based on internal per-device structure */
|
||||
#define CTLR_TIMEOUT (120 * HZ)
|
||||
static int hpsa_slave_configure(struct scsi_device *sdev)
|
||||
static int hpsa_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct hpsa_scsi_dev_t *sd;
|
||||
int queue_depth;
|
||||
|
@ -3441,8 +3441,9 @@ static int ibmvfc_target_alloc(struct scsi_target *starget)
|
||||
}
|
||||
|
||||
/**
|
||||
* ibmvfc_slave_configure - Configure the device
|
||||
* ibmvfc_sdev_configure - Configure the device
|
||||
* @sdev: struct scsi_device device to configure
|
||||
* @lim: Request queue limits
|
||||
*
|
||||
* Enable allow_restart for a device if it is a disk. Adjust the
|
||||
* queue_depth here also.
|
||||
@ -3450,7 +3451,8 @@ static int ibmvfc_target_alloc(struct scsi_target *starget)
|
||||
* Returns:
|
||||
* 0
|
||||
**/
|
||||
static int ibmvfc_slave_configure(struct scsi_device *sdev)
|
||||
static int ibmvfc_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *shost = sdev->host;
|
||||
unsigned long flags = 0;
|
||||
@ -3697,7 +3699,7 @@ static const struct scsi_host_template driver_template = {
|
||||
.eh_target_reset_handler = ibmvfc_eh_target_reset_handler,
|
||||
.eh_host_reset_handler = ibmvfc_eh_host_reset_handler,
|
||||
.sdev_init = ibmvfc_sdev_init,
|
||||
.slave_configure = ibmvfc_slave_configure,
|
||||
.sdev_configure = ibmvfc_sdev_configure,
|
||||
.target_alloc = ibmvfc_target_alloc,
|
||||
.scan_finished = ibmvfc_scan_finished,
|
||||
.change_queue_depth = ibmvfc_change_queue_depth,
|
||||
|
@ -1860,14 +1860,16 @@ static void ibmvscsi_handle_crq(struct viosrp_crq *crq,
|
||||
}
|
||||
|
||||
/**
|
||||
* ibmvscsi_slave_configure: Set the "allow_restart" flag for each disk.
|
||||
* ibmvscsi_sdev_configure: Set the "allow_restart" flag for each disk.
|
||||
* @sdev: struct scsi_device device to configure
|
||||
* @lim: Request queue limits
|
||||
*
|
||||
* Enable allow_restart for a device if it is a disk. Adjust the
|
||||
* queue_depth here also as is required by the documentation for
|
||||
* struct scsi_host_template.
|
||||
*/
|
||||
static int ibmvscsi_slave_configure(struct scsi_device *sdev)
|
||||
static int ibmvscsi_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *shost = sdev->host;
|
||||
unsigned long lock_flags = 0;
|
||||
@ -2091,7 +2093,7 @@ static struct scsi_host_template driver_template = {
|
||||
.eh_abort_handler = ibmvscsi_eh_abort_handler,
|
||||
.eh_device_reset_handler = ibmvscsi_eh_device_reset_handler,
|
||||
.eh_host_reset_handler = ibmvscsi_eh_host_reset_handler,
|
||||
.slave_configure = ibmvscsi_slave_configure,
|
||||
.sdev_configure = ibmvscsi_sdev_configure,
|
||||
.change_queue_depth = ibmvscsi_change_queue_depth,
|
||||
.host_reset = ibmvscsi_host_reset,
|
||||
.cmd_per_lun = IBMVSCSI_CMDS_PER_LUN_DEFAULT,
|
||||
|
@ -364,7 +364,7 @@ static struct scsi_host_template ips_driver_template = {
|
||||
.proc_name = "ips",
|
||||
.show_info = ips_show_info,
|
||||
.write_info = ips_write_info,
|
||||
.slave_configure = ips_slave_configure,
|
||||
.sdev_configure = ips_sdev_configure,
|
||||
.bios_param = ips_biosparam,
|
||||
.this_id = -1,
|
||||
.sg_tablesize = IPS_MAX_SG,
|
||||
@ -1166,7 +1166,7 @@ static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev,
|
||||
|
||||
/****************************************************************************/
|
||||
/* */
|
||||
/* Routine Name: ips_slave_configure */
|
||||
/* Routine Name: ips_sdev_configure */
|
||||
/* */
|
||||
/* Routine Description: */
|
||||
/* */
|
||||
@ -1174,7 +1174,7 @@ static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev,
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
static int
|
||||
ips_slave_configure(struct scsi_device * SDptr)
|
||||
ips_sdev_configure(struct scsi_device *SDptr, struct queue_limits *lim)
|
||||
{
|
||||
ips_ha_t *ha;
|
||||
int min;
|
||||
|
@ -400,7 +400,8 @@
|
||||
*/
|
||||
static int ips_biosparam(struct scsi_device *sdev, struct block_device *bdev,
|
||||
sector_t capacity, int geom[]);
|
||||
static int ips_slave_configure(struct scsi_device *SDptr);
|
||||
static int ips_sdev_configure(struct scsi_device *SDptr,
|
||||
struct queue_limits *lim);
|
||||
|
||||
/*
|
||||
* Raid Command Formats
|
||||
|
@ -6342,8 +6342,9 @@ lpfc_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
/**
|
||||
* lpfc_slave_configure - scsi_host_template slave_configure entry point
|
||||
* lpfc_sdev_configure - scsi_host_template sdev_configure entry point
|
||||
* @sdev: Pointer to scsi_device.
|
||||
* @lim: Request queue limits.
|
||||
*
|
||||
* This routine configures following items
|
||||
* - Tag command queuing support for @sdev if supported.
|
||||
@ -6353,7 +6354,7 @@ lpfc_sdev_init(struct scsi_device *sdev)
|
||||
* 0 - Success
|
||||
**/
|
||||
static int
|
||||
lpfc_slave_configure(struct scsi_device *sdev)
|
||||
lpfc_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
struct lpfc_vport *vport = (struct lpfc_vport *) sdev->host->hostdata;
|
||||
struct lpfc_hba *phba = vport->phba;
|
||||
@ -6737,7 +6738,13 @@ lpfc_no_command(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
|
||||
}
|
||||
|
||||
static int
|
||||
lpfc_no_sdev(struct scsi_device *sdev)
|
||||
lpfc_init_no_sdev(struct scsi_device *sdev)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
static int
|
||||
lpfc_config_no_sdev(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
return -ENODEV;
|
||||
}
|
||||
@ -6748,8 +6755,8 @@ struct scsi_host_template lpfc_template_nvme = {
|
||||
.proc_name = LPFC_DRIVER_NAME,
|
||||
.info = lpfc_info,
|
||||
.queuecommand = lpfc_no_command,
|
||||
.sdev_init = lpfc_no_sdev,
|
||||
.slave_configure = lpfc_no_sdev,
|
||||
.sdev_init = lpfc_init_no_sdev,
|
||||
.sdev_configure = lpfc_config_no_sdev,
|
||||
.scan_finished = lpfc_scan_finished,
|
||||
.this_id = -1,
|
||||
.sg_tablesize = 1,
|
||||
@ -6773,7 +6780,7 @@ struct scsi_host_template lpfc_template = {
|
||||
.eh_target_reset_handler = lpfc_target_reset_handler,
|
||||
.eh_host_reset_handler = lpfc_host_reset_handler,
|
||||
.sdev_init = lpfc_sdev_init,
|
||||
.slave_configure = lpfc_slave_configure,
|
||||
.sdev_configure = lpfc_sdev_configure,
|
||||
.sdev_destroy = lpfc_sdev_destroy,
|
||||
.scan_finished = lpfc_scan_finished,
|
||||
.this_id = -1,
|
||||
@ -6800,7 +6807,7 @@ struct scsi_host_template lpfc_vport_template = {
|
||||
.eh_bus_reset_handler = NULL,
|
||||
.eh_host_reset_handler = NULL,
|
||||
.sdev_init = lpfc_sdev_init,
|
||||
.slave_configure = lpfc_slave_configure,
|
||||
.sdev_configure = lpfc_sdev_configure,
|
||||
.sdev_destroy = lpfc_sdev_destroy,
|
||||
.scan_finished = lpfc_scan_finished,
|
||||
.this_id = -1,
|
||||
|
@ -2000,7 +2000,8 @@ static struct mvumi_instance_template mvumi_instance_9580 = {
|
||||
.reset_host = mvumi_reset_host_9580,
|
||||
};
|
||||
|
||||
static int mvumi_slave_configure(struct scsi_device *sdev)
|
||||
static int mvumi_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct mvumi_hba *mhba;
|
||||
unsigned char bitcount = sizeof(unsigned char) * 8;
|
||||
@ -2172,7 +2173,7 @@ static const struct scsi_host_template mvumi_template = {
|
||||
|
||||
.module = THIS_MODULE,
|
||||
.name = "Marvell Storage Controller",
|
||||
.slave_configure = mvumi_slave_configure,
|
||||
.sdev_configure = mvumi_sdev_configure,
|
||||
.queuecommand = mvumi_queue_command,
|
||||
.eh_timed_out = mvumi_timed_out,
|
||||
.eh_host_reset_handler = mvumi_host_reset,
|
||||
|
@ -1715,7 +1715,8 @@ static int myrb_sdev_init(struct scsi_device *sdev)
|
||||
return myrb_pdev_sdev_init(sdev);
|
||||
}
|
||||
|
||||
static int myrb_slave_configure(struct scsi_device *sdev)
|
||||
static int myrb_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct myrb_ldev_info *ldev_info;
|
||||
|
||||
@ -2209,7 +2210,7 @@ static const struct scsi_host_template myrb_template = {
|
||||
.queuecommand = myrb_queuecommand,
|
||||
.eh_host_reset_handler = myrb_host_reset,
|
||||
.sdev_init = myrb_sdev_init,
|
||||
.slave_configure = myrb_slave_configure,
|
||||
.sdev_configure = myrb_sdev_configure,
|
||||
.sdev_destroy = myrb_sdev_destroy,
|
||||
.bios_param = myrb_biosparam,
|
||||
.cmd_size = sizeof(struct myrb_cmdblk),
|
||||
|
@ -1882,7 +1882,8 @@ static int myrs_sdev_init(struct scsi_device *sdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int myrs_slave_configure(struct scsi_device *sdev)
|
||||
static int myrs_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct myrs_hba *cs = shost_priv(sdev->host);
|
||||
struct myrs_ldev_info *ldev_info;
|
||||
@ -1922,7 +1923,7 @@ static const struct scsi_host_template myrs_template = {
|
||||
.queuecommand = myrs_queuecommand,
|
||||
.eh_host_reset_handler = myrs_host_reset,
|
||||
.sdev_init = myrs_sdev_init,
|
||||
.slave_configure = myrs_slave_configure,
|
||||
.sdev_configure = myrs_sdev_configure,
|
||||
.sdev_destroy = myrs_sdev_destroy,
|
||||
.cmd_size = sizeof(struct myrs_cmdblk),
|
||||
.shost_groups = myrs_shost_groups,
|
||||
|
@ -7796,7 +7796,8 @@ static int ncr53c8xx_sdev_init(struct scsi_device *device)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ncr53c8xx_slave_configure(struct scsi_device *device)
|
||||
static int ncr53c8xx_sdev_configure(struct scsi_device *device,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct Scsi_Host *host = device->host;
|
||||
struct ncb *np = ((struct host_data *) host->hostdata)->ncb;
|
||||
@ -8093,7 +8094,7 @@ struct Scsi_Host * __init ncr_attach(struct scsi_host_template *tpnt,
|
||||
tpnt->shost_groups = ncr53c8xx_host_groups;
|
||||
|
||||
tpnt->queuecommand = ncr53c8xx_queue_command;
|
||||
tpnt->slave_configure = ncr53c8xx_slave_configure;
|
||||
tpnt->sdev_configure = ncr53c8xx_sdev_configure;
|
||||
tpnt->sdev_init = ncr53c8xx_sdev_init;
|
||||
tpnt->eh_bus_reset_handler = ncr53c8xx_bus_reset;
|
||||
tpnt->can_queue = SCSI_NCR_CAN_QUEUE;
|
||||
|
@ -61,7 +61,8 @@ enum lv1_atapi_in_out {
|
||||
};
|
||||
|
||||
|
||||
static int ps3rom_slave_configure(struct scsi_device *scsi_dev)
|
||||
static int ps3rom_sdev_configure(struct scsi_device *scsi_dev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct ps3rom_private *priv = shost_priv(scsi_dev->host);
|
||||
struct ps3_storage_device *dev = priv->dev;
|
||||
@ -325,7 +326,7 @@ static irqreturn_t ps3rom_interrupt(int irq, void *data)
|
||||
|
||||
static const struct scsi_host_template ps3rom_host_template = {
|
||||
.name = DEVICE_NAME,
|
||||
.slave_configure = ps3rom_slave_configure,
|
||||
.sdev_configure = ps3rom_sdev_configure,
|
||||
.queuecommand = ps3rom_queuecommand,
|
||||
.can_queue = 1,
|
||||
.this_id = 7,
|
||||
|
@ -982,7 +982,8 @@ static int qedf_eh_host_reset(struct scsi_cmnd *sc_cmd)
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
static int qedf_slave_configure(struct scsi_device *sdev)
|
||||
static int qedf_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
if (qedf_queue_depth) {
|
||||
scsi_change_queue_depth(sdev, qedf_queue_depth);
|
||||
@ -1003,7 +1004,7 @@ static const struct scsi_host_template qedf_host_template = {
|
||||
.eh_device_reset_handler = qedf_eh_device_reset, /* lun reset */
|
||||
.eh_target_reset_handler = qedf_eh_target_reset, /* target reset */
|
||||
.eh_host_reset_handler = qedf_eh_host_reset,
|
||||
.slave_configure = qedf_slave_configure,
|
||||
.sdev_configure = qedf_sdev_configure,
|
||||
.dma_boundary = QED_HW_DMA_BOUNDARY,
|
||||
.sg_tablesize = QEDF_MAX_BDS_PER_CMD,
|
||||
.can_queue = FCOE_PARAMS_NUM_TASKS,
|
||||
|
@ -1159,7 +1159,7 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target)
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* qla1280_slave_configure
|
||||
* qla1280_sdev_configure
|
||||
*
|
||||
* Description:
|
||||
* Determines the queue depth for a given device. There are two ways
|
||||
@ -1170,7 +1170,7 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target)
|
||||
* default queue depth (dependent on the number of hardware SCBs).
|
||||
**************************************************************************/
|
||||
static int
|
||||
qla1280_slave_configure(struct scsi_device *device)
|
||||
qla1280_sdev_configure(struct scsi_device *device, struct queue_limits *lim)
|
||||
{
|
||||
struct scsi_qla_host *ha;
|
||||
int default_depth = 3;
|
||||
@ -4121,7 +4121,7 @@ static const struct scsi_host_template qla1280_driver_template = {
|
||||
.proc_name = "qla1280",
|
||||
.name = "Qlogic ISP 1280/12160",
|
||||
.info = qla1280_info,
|
||||
.slave_configure = qla1280_slave_configure,
|
||||
.sdev_configure = qla1280_sdev_configure,
|
||||
.queuecommand = qla1280_queuecommand,
|
||||
.eh_abort_handler = qla1280_eh_abort,
|
||||
.eh_device_reset_handler= qla1280_eh_device_reset,
|
||||
|
@ -1947,7 +1947,7 @@ qla2xxx_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
static int
|
||||
qla2xxx_slave_configure(struct scsi_device *sdev)
|
||||
qla2xxx_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
scsi_qla_host_t *vha = shost_priv(sdev->host);
|
||||
struct req_que *req = vha->req;
|
||||
@ -8086,7 +8086,7 @@ struct scsi_host_template qla2xxx_driver_template = {
|
||||
.eh_bus_reset_handler = qla2xxx_eh_bus_reset,
|
||||
.eh_host_reset_handler = qla2xxx_eh_host_reset,
|
||||
|
||||
.slave_configure = qla2xxx_slave_configure,
|
||||
.sdev_configure = qla2xxx_sdev_configure,
|
||||
|
||||
.sdev_init = qla2xxx_sdev_init,
|
||||
.sdev_destroy = qla2xxx_sdev_destroy,
|
||||
|
@ -975,7 +975,8 @@ static inline void update_can_queue(struct Scsi_Host *host, u_int in_ptr, u_int
|
||||
host->sg_tablesize = QLOGICPTI_MAX_SG(num_free);
|
||||
}
|
||||
|
||||
static int qlogicpti_slave_configure(struct scsi_device *sdev)
|
||||
static int qlogicpti_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct qlogicpti *qpti = shost_priv(sdev->host);
|
||||
int tgt = sdev->id;
|
||||
@ -1292,7 +1293,7 @@ static const struct scsi_host_template qpti_template = {
|
||||
.name = "qlogicpti",
|
||||
.info = qlogicpti_info,
|
||||
.queuecommand = qlogicpti_queuecommand,
|
||||
.slave_configure = qlogicpti_slave_configure,
|
||||
.sdev_configure = qlogicpti_sdev_configure,
|
||||
.eh_abort_handler = qlogicpti_abort,
|
||||
.eh_host_reset_handler = qlogicpti_reset,
|
||||
.can_queue = QLOGICPTI_REQ_QUEUE_LEN,
|
||||
|
@ -5888,14 +5888,15 @@ static int scsi_debug_sdev_init(struct scsi_device *sdp)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int scsi_debug_slave_configure(struct scsi_device *sdp)
|
||||
static int scsi_debug_sdev_configure(struct scsi_device *sdp,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct sdebug_dev_info *devip =
|
||||
(struct sdebug_dev_info *)sdp->hostdata;
|
||||
struct dentry *dentry;
|
||||
|
||||
if (sdebug_verbose)
|
||||
pr_info("slave_configure <%u %u %u %llu>\n",
|
||||
pr_info("sdev_configure <%u %u %u %llu>\n",
|
||||
sdp->host->host_no, sdp->channel, sdp->id, sdp->lun);
|
||||
if (sdp->host->max_cmd_len != SDEBUG_MAX_CMD_LEN)
|
||||
sdp->host->max_cmd_len = SDEBUG_MAX_CMD_LEN;
|
||||
@ -8713,8 +8714,8 @@ static struct scsi_host_template sdebug_driver_template = {
|
||||
.name = "SCSI DEBUG",
|
||||
.info = scsi_debug_info,
|
||||
.sdev_init = scsi_debug_sdev_init,
|
||||
.slave_configure = scsi_debug_slave_configure,
|
||||
.sdev_destroy = scsi_debug_sdev_destroy,
|
||||
.sdev_configure = scsi_debug_sdev_configure,
|
||||
.sdev_destroy = scsi_debug_sdev_destroy,
|
||||
.ioctl = scsi_debug_ioctl,
|
||||
.queuecommand = scsi_debug_queuecommand,
|
||||
.change_queue_depth = sdebug_change_qdepth,
|
||||
|
@ -316,7 +316,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
|
||||
sdev->hostdata = hostdata;
|
||||
|
||||
/* if the device needs this changing, it may do so in the
|
||||
* slave_configure function */
|
||||
* sdev_configure function */
|
||||
sdev->max_device_blocked = SCSI_DEFAULT_DEVICE_BLOCKED;
|
||||
|
||||
/*
|
||||
|
@ -6558,7 +6558,8 @@ static inline bool pqi_is_tape_changer_device(struct pqi_scsi_dev *device)
|
||||
return device->devtype == TYPE_TAPE || device->devtype == TYPE_MEDIUM_CHANGER;
|
||||
}
|
||||
|
||||
static int pqi_slave_configure(struct scsi_device *sdev)
|
||||
static int pqi_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
int rc = 0;
|
||||
struct pqi_scsi_dev *device;
|
||||
@ -7550,7 +7551,7 @@ static const struct scsi_host_template pqi_driver_template = {
|
||||
.eh_abort_handler = pqi_eh_abort_handler,
|
||||
.ioctl = pqi_ioctl,
|
||||
.sdev_init = pqi_sdev_init,
|
||||
.slave_configure = pqi_slave_configure,
|
||||
.sdev_configure = pqi_sdev_configure,
|
||||
.sdev_destroy = pqi_sdev_destroy,
|
||||
.map_queues = pqi_map_queues,
|
||||
.sdev_groups = pqi_sdev_groups,
|
||||
|
@ -57,11 +57,11 @@ snic_sdev_init(struct scsi_device *sdev)
|
||||
}
|
||||
|
||||
/*
|
||||
* snic_slave_configure : callback function to SCSI Mid Layer, called on
|
||||
* snic_sdev_configure : callback function to SCSI Mid Layer, called on
|
||||
* scsi device initialization.
|
||||
*/
|
||||
static int
|
||||
snic_slave_configure(struct scsi_device *sdev)
|
||||
snic_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
struct snic *snic = shost_priv(sdev->host);
|
||||
u32 qdepth = 0, max_ios = 0;
|
||||
@ -108,7 +108,7 @@ static const struct scsi_host_template snic_host_template = {
|
||||
.eh_device_reset_handler = snic_device_reset,
|
||||
.eh_host_reset_handler = snic_host_reset,
|
||||
.sdev_init = snic_sdev_init,
|
||||
.slave_configure = snic_slave_configure,
|
||||
.sdev_configure = snic_sdev_configure,
|
||||
.change_queue_depth = snic_change_queue_depth,
|
||||
.this_id = -1,
|
||||
.cmd_per_lun = SNIC_DFLT_QUEUE_DEPTH,
|
||||
|
@ -584,7 +584,7 @@ static void return_abnormal_state(struct st_hba *hba, int status)
|
||||
spin_unlock_irqrestore(hba->host->host_lock, flags);
|
||||
}
|
||||
static int
|
||||
stex_slave_config(struct scsi_device *sdev)
|
||||
stex_sdev_configure(struct scsi_device *sdev, struct queue_limits *lim)
|
||||
{
|
||||
sdev->use_10_for_rw = 1;
|
||||
sdev->use_10_for_ms = 1;
|
||||
@ -1481,7 +1481,7 @@ static const struct scsi_host_template driver_template = {
|
||||
.proc_name = DRV_NAME,
|
||||
.bios_param = stex_biosparam,
|
||||
.queuecommand = stex_queuecommand,
|
||||
.slave_configure = stex_slave_config,
|
||||
.sdev_configure = stex_sdev_configure,
|
||||
.eh_abort_handler = stex_abort,
|
||||
.eh_host_reset_handler = stex_reset,
|
||||
.this_id = -1,
|
||||
|
@ -1574,7 +1574,8 @@ static int storvsc_device_alloc(struct scsi_device *sdevice)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int storvsc_device_configure(struct scsi_device *sdevice)
|
||||
static int storvsc_sdev_configure(struct scsi_device *sdevice,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
blk_queue_rq_timeout(sdevice->request_queue, (storvsc_timeout * HZ));
|
||||
|
||||
@ -1876,7 +1877,7 @@ static struct scsi_host_template scsi_driver = {
|
||||
.proc_name = "storvsc_host",
|
||||
.eh_timed_out = storvsc_eh_timed_out,
|
||||
.sdev_init = storvsc_device_alloc,
|
||||
.slave_configure = storvsc_device_configure,
|
||||
.sdev_configure = storvsc_sdev_configure,
|
||||
.cmd_per_lun = 2048,
|
||||
.this_id = -1,
|
||||
/* Ensure there are no gaps in presented sgls */
|
||||
|
@ -825,7 +825,8 @@ static int sym53c8xx_sdev_init(struct scsi_device *sdev)
|
||||
/*
|
||||
* Linux entry point for device queue sizing.
|
||||
*/
|
||||
static int sym53c8xx_slave_configure(struct scsi_device *sdev)
|
||||
static int sym53c8xx_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct sym_hcb *np = sym_get_hcb(sdev->host);
|
||||
struct sym_tcb *tp = &np->target[sdev->id];
|
||||
@ -1685,7 +1686,7 @@ static const struct scsi_host_template sym2_template = {
|
||||
.cmd_size = sizeof(struct sym_ucmd),
|
||||
.queuecommand = sym53c8xx_queue_command,
|
||||
.sdev_init = sym53c8xx_sdev_init,
|
||||
.slave_configure = sym53c8xx_slave_configure,
|
||||
.sdev_configure = sym53c8xx_sdev_configure,
|
||||
.sdev_destroy = sym53c8xx_sdev_destroy,
|
||||
.eh_abort_handler = sym53c8xx_eh_abort_handler,
|
||||
.eh_target_reset_handler = sym53c8xx_eh_target_reset_handler,
|
||||
|
@ -735,7 +735,8 @@ static int scsifront_dev_reset_handler(struct scsi_cmnd *sc)
|
||||
return scsifront_action_handler(sc, VSCSIIF_ACT_SCSI_RESET);
|
||||
}
|
||||
|
||||
static int scsifront_sdev_configure(struct scsi_device *sdev)
|
||||
static int scsifront_sdev_configure(struct scsi_device *sdev,
|
||||
struct queue_limits *lim)
|
||||
{
|
||||
struct vscsifrnt_info *info = shost_priv(sdev->host);
|
||||
int err;
|
||||
@ -776,7 +777,7 @@ static const struct scsi_host_template scsifront_sht = {
|
||||
.queuecommand = scsifront_queuecommand,
|
||||
.eh_abort_handler = scsifront_eh_abort_handler,
|
||||
.eh_device_reset_handler = scsifront_dev_reset_handler,
|
||||
.slave_configure = scsifront_sdev_configure,
|
||||
.sdev_configure = scsifront_sdev_configure,
|
||||
.sdev_destroy = scsifront_sdev_destroy,
|
||||
.cmd_per_lun = VSCSIIF_DEFAULT_CMD_PER_LUN,
|
||||
.can_queue = VSCSIIF_MAX_REQS,
|
||||
@ -1074,7 +1075,7 @@ static void scsifront_do_lun_hotplug(struct vscsifrnt_info *info, int op)
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Front device state path, used in slave_configure called
|
||||
* Front device state path, used in sdev_configure called
|
||||
* on successfull scsi_add_device, and in sdev_destroy called
|
||||
* on remove of a device.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user