mpt fusion: adding usage of shost_priv and removing all the typecasting
Subsystems (2)
PATCH 1/9 mpt fusion: adding usage of shost_priv and removing all the typecasting
The driver is currently typecasting to obtain the shost hostdata. The driver is updated to use the shost_priv macro.
Signed-off-by Eric Moore <[email protected]>
drivers/message/fusion/mptctl.c +5 -5
@@ -348,7 +348,7 @@ static int mptctl_bus_reset(MPT_IOCTL *iif (ioctl->ioc->sh ==NULL )return -EPERM ; - hd = (MPT_SCSI_HOST *) ioctl->ioc->sh->hostdata; + hd =shost_priv (ioctl->ioc->sh);if (hd ==NULL )return -EPERM ;
@@ -449,7 +449,7 @@ mptctl_free_tm_flags(MPT_ADAPTER *ioc)MPT_SCSI_HOST * hd;unsigned long flags; - hd = (MPT_SCSI_HOST *) ioc->sh->hostdata; + hd =shost_priv (ioc->sh);if (hd ==NULL )return ;
@@ -2026,7 +2026,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_case MPI_FUNCTION_SCSI_TASK_MGMT : {MPT_SCSI_HOST *hd =NULL ; -if ((ioc->sh ==NULL ) || ((hd = (MPT_SCSI_HOST *)ioc->sh->hostdata) ==NULL )) { +if ((ioc->sh ==NULL ) || ((hd =shost_priv (ioc->sh)) ==NULL )) {printk (MYIOC_s_ERR_FMT"%s@%d::mptctl_do_mpt_command - " "SCSI driver not loaded or SCSI host not found. \n" , ioc->name, __FILE__, __LINE__);
@@ -2466,7 +2466,7 @@ mptctl_hp_hostinfo(unsigned long arg, un karg.soft_resets =0 ; karg.timeouts =0 ;if (ioc->sh !=NULL ) { -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; +MPT_SCSI_HOST *hd =shost_priv (ioc->sh);if (hd && (cim_rev ==1 )) { karg.hard_resets = hd->hard_resets;
@@ -2683,7 +2683,7 @@ mptctl_hp_targetinfo(unsigned long arg)pci_free_consistent (ioc->pcidev, data_sz, (u8 *) pg3_alloc, page_dma); } } - hd = (MPT_SCSI_HOST *) ioc->sh->hostdata; + hd =shost_priv (ioc->sh);if (hd !=NULL ) karg.select_timeouts = hd->sel_timeout[karg.hdr.id];
drivers/message/fusion/mptfc.c +7 -10
@@ -196,7 +196,7 @@ mptfc_block_error_handler(struct scsi_cmint ready;MPT_ADAPTER *ioc; - hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata; + hd =shost_priv (SCpnt->device->host); ioc = hd->ioc;spin_lock_irqsave (shost->host_lock, flags);while ((ready =fc_remote_port_chkready (rport) >>16 ) ==DID_IMM_RETRY ) {
@@ -204,8 +204,7 @@ mptfc_block_error_handler(struct scsi_cmdfcprintk (ioc,printk (MYIOC_s_DEBUG_FMT"mptfc_block_error_handler.%d: %d:%d, port status is " "DID_IMM_RETRY, deferring %s recovery.\n" , - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->name, - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->sh->host_no, + ioc->name, ioc->sh->host_no, SCpnt->device->id, SCpnt->device->lun, caller));msleep (1000 );spin_lock_irqsave (shost->host_lock, flags);
@@ -216,16 +215,14 @@ mptfc_block_error_handler(struct scsi_cmdfcprintk (ioc,printk (MYIOC_s_DEBUG_FMT"%s.%d: %d:%d, failing recovery, " "port state %d, vdevice %p.\n" , caller, - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->name, - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->sh->host_no, + ioc->name, ioc->sh->host_no, SCpnt->device->id, SCpnt->device->lun, ready, SCpnt->device->hostdata));return FAILED ; }dfcprintk (ioc,printk (MYIOC_s_DEBUG_FMT"%s.%d: %d:%d, executing recovery.\n" , caller, - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->name, - ((MPT_SCSI_HOST *) shost->hostdata)->ioc->sh->host_no, + ioc->name, ioc->sh->host_no, SCpnt->device->id, SCpnt->device->lun));return (*func)(SCpnt); }
@@ -615,7 +612,7 @@ mptfc_slave_alloc(struct scsi_device *sdif (!rport ||fc_remote_port_chkready (rport))return -ENXIO ; - hd = (MPT_SCSI_HOST *)sdev->host->hostdata; + hd =shost_priv (sdev->host); ioc = hd->ioc; vdevice =kzalloc (sizeof (VirtDevice),GFP_KERNEL );
@@ -1279,7 +1276,7 @@ mptfc_probe(struct pci_dev *pdev, constspin_unlock_irqrestore (&ioc->FreeQlock, flags); - hd = (MPT_SCSI_HOST *) sh->hostdata; + hd =shost_priv (sh); hd->ioc = ioc;/* SCSI needs scsi_cmnd lookup table!
@@ -1386,7 +1383,7 @@ mptfc_event_process(MPT_ADAPTER *ioc, Ev ioc->name, event));if (ioc->sh ==NULL || - ((hd = (MPT_SCSI_HOST *)ioc->sh->hostdata) ==NULL )) + ((hd =shost_priv (ioc->sh)) ==NULL ))return 1 ;switch (event) {
drivers/message/fusion/mptsas.c +7 -7
@@ -575,7 +575,7 @@ static voidmptsas_target_reset_queue (MPT_ADAPTER *ioc, EVENT_DATA_SAS_DEVICE_STATUS_CHANGE *sas_event_data) { -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; +MPT_SCSI_HOST *hd =shost_priv (ioc->sh);VirtTarget *vtarget =NULL ;struct mptsas_target_reset_event *target_reset_list;u8 id, channel;
@@ -622,7 +622,7 @@ mptsas_target_reset_queue(MPT_ADAPTER *istatic void mptsas_dev_reset_complete (MPT_ADAPTER *ioc) { -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; +MPT_SCSI_HOST *hd =shost_priv (ioc->sh);struct list_head *head = &hd->target_reset_list;struct mptsas_target_reset_event *target_reset_list;struct mptsas_hotplug_event *ev;
@@ -739,7 +739,7 @@ mptsas_ioc_reset(MPT_ADAPTER *ioc, int rif (!ioc->sh || !ioc->sh->hostdata) goto out; - hd = (MPT_SCSI_HOST *)ioc->sh->hostdata; + hd =shost_priv (ioc->sh);if (!hd->ioc) goto out;
@@ -839,7 +839,7 @@ static int mptsas_target_alloc(struct scsi_target *starget) {struct Scsi_Host *host =dev_to_shost (&starget->dev); -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; +MPT_SCSI_HOST *hd =shost_priv (host);VirtTarget *vtarget;u8 id, channel;struct sas_rphy *rphy;
@@ -908,7 +908,7 @@ static void mptsas_target_destroy(struct scsi_target *starget) {struct Scsi_Host *host =dev_to_shost (&starget->dev); -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; +MPT_SCSI_HOST *hd =shost_priv (host);struct sas_rphy *rphy;struct mptsas_portinfo *p;int i;
@@ -941,7 +941,7 @@ static int mptsas_slave_alloc(struct scsi_device *sdev) {struct Scsi_Host *host = sdev->host; -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; +MPT_SCSI_HOST *hd =shost_priv (host);struct sas_rphy *rphy;struct mptsas_portinfo *p;VirtDevice *vdevice;
@@ -3215,7 +3215,7 @@ mptsas_probe(struct pci_dev *pdev, const sh->sg_tablesize = numSGE; } - hd = (MPT_SCSI_HOST *) sh->hostdata; + hd =shost_priv (sh); hd->ioc = ioc;/* SCSI needs scsi_cmnd lookup table!
drivers/message/fusion/mptscsih.c +32 -42
268 lines not on this page · raw message
drivers/message/fusion/mptspi.c +11 -12
@@ -397,7 +397,7 @@ mptspi_is_raid(struct _MPT_SCSI_HOST *hdstatic int mptspi_target_alloc (struct scsi_target *starget) {struct Scsi_Host *shost =dev_to_shost (&starget->dev); -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)shost->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (shost);VirtTarget *vtarget;MPT_ADAPTER *ioc;
@@ -514,7 +514,7 @@ static int mptspi_read_spi_device_pg0(st struct _CONFIG_PAGE_SCSI_DEVICE_0 *pass_pg0) {struct Scsi_Host *shost =dev_to_shost (&starget->dev); -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)shost->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (shost);struct _MPT_ADAPTER *ioc = hd->ioc;struct _CONFIG_PAGE_SCSI_DEVICE_0 *pg0;dma_addr_t pg0_dma;
@@ -702,7 +702,7 @@ static void mptspi_dv_device(struct _MPTstatic int mptspi_slave_alloc (struct scsi_device *sdev) { -MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)sdev->host->hostdata; +MPT_SCSI_HOST *hd =shost_priv (sdev->host);VirtTarget *vtarget;VirtDevice *vdevice;struct scsi_target *starget;
@@ -735,8 +735,7 @@ static int mptspi_slave_alloc(struct scsstatic int mptspi_slave_configure (struct scsi_device *sdev) { -struct _MPT_SCSI_HOST *hd = - (struct _MPT_SCSI_HOST *)sdev->host->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (sdev->host);VirtTarget *vtarget =scsi_target (sdev)->hostdata;int ret;
@@ -764,7 +763,7 @@ static int mptspi_slave_configure(structstatic int mptspi_qcmd (struct scsi_cmnd *SCpnt,void (*done)(struct scsi_cmnd *)) { -struct _MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (SCpnt->device->host);VirtDevice *vdevice = SCpnt->device->hostdata;MPT_ADAPTER *ioc = hd->ioc;
@@ -839,7 +838,7 @@ static int mptspi_write_spi_device_pg1(s struct _CONFIG_PAGE_SCSI_DEVICE_1 *pass_pg1) {struct Scsi_Host *shost =dev_to_shost (&starget->dev); -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)shost->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (shost);struct _MPT_ADAPTER *ioc = hd->ioc;struct _CONFIG_PAGE_SCSI_DEVICE_1 *pg1;dma_addr_t pg1_dma;
@@ -1027,7 +1026,7 @@ static void mptspi_write_qas(struct scsi {struct _CONFIG_PAGE_SCSI_DEVICE_1 pg1;struct Scsi_Host *shost =dev_to_shost (&starget->dev); -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)shost->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (shost);VirtTarget *vtarget = starget->hostdata;u32 nego;
@@ -1137,7 +1136,7 @@ static int mptspi_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) {u8 event =le32_to_cpu (pEvReply->Event) &0xFF ; -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)ioc->sh->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (ioc->sh);if (hd && event ==MPI_EVENT_INTEGRATED_RAID ) {int reason
@@ -1267,7 +1266,7 @@ mptspi_dv_renegotiate(struct _MPT_SCSI_Hstatic int mptspi_ioc_reset (MPT_ADAPTER *ioc,int reset_phase) { -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)ioc->sh->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (ioc->sh);int rc; rc =mptscsih_ioc_reset (ioc, reset_phase);
@@ -1286,7 +1285,7 @@ static int mptspi_resume(struct pci_dev *pdev) {MPT_ADAPTER *ioc =pci_get_drvdata (pdev); -struct _MPT_SCSI_HOST *hd = (struct _MPT_SCSI_HOST *)ioc->sh->hostdata; +struct _MPT_SCSI_HOST *hd =shost_priv (ioc->sh);int rc; rc =mptscsih_resume (pdev);
@@ -1441,7 +1440,7 @@ mptspi_probe(struct pci_dev *pdev, constspin_unlock_irqrestore (&ioc->FreeQlock, flags); - hd = (MPT_SCSI_HOST *) sh->hostdata; + hd =shost_priv (sh); hd->ioc = ioc;/* SCSI needs scsi_cmnd lookup table!