remove scsi_set_device
Subsystems (8)
PATCH 1/1 remove scsi_set_device
scsi_add_host is the proper place to set the device, but people copy the scsi_set_device usage from older drivers again and again.
note that this leaves some legacy drivers like qlogicisp/qlogicfc without pci association in sysfs, but they're scheduled to go away soon anyway.
drivers/scsi/ncr53c8xx.c +0 -1
@@ -7756,7 +7756,6 @@* your module_init */ BUG_ON (!ncr53c8xx_transport_template); instance->transportt = ncr53c8xx_transport_template; -scsi_set_device (instance, device->dev);/* Patch script to physical addresses */ ncr_script_fill (&script0, &scripth0);
drivers/message/fusion/mptspi.c +0 -4
@@ -287,10 +287,6 @@ sh->sg_tablesize = numSGE; } -/* Set the pci device pointer in Scsi_Host structure. -*/ -scsi_set_device (sh, &ioc->pcidev->dev); -spin_unlock_irqrestore (&ioc->FreeQlock, flags); hd = (MPT_SCSI_HOST *) sh->hostdata;
drivers/scsi/megaraid/megaraid_mbox.c +0 -1
@@ -719,7 +719,6 @@// export the parameters required by the mid-layer scsi_assign_lock (host, adapter->host_lock); -scsi_set_device (host, &adapter->pdev->dev); host->irq = adapter->irq; host->unique_id = adapter->unique_id;
drivers/scsi/nsp32.c +1 -3
@@ -2720,9 +2720,7 @@ host->unique_id = data->BaseAddress; host->n_io_port = data->NumAddress; host->base = (unsigned long )data->MmioAddress; -#if (LINUX_VERSION_CODE >KERNEL_VERSION (2 ,5 ,63 )) -scsi_set_device (host, &PCIDEV ->dev); -#else +#if (LINUX_VERSION_CODE <=KERNEL_VERSION (2 ,5 ,63 ))scsi_set_pci_device (host,PCIDEV );#endif
drivers/scsi/libata-core.c +1 -1
@@ -3365,7 +3365,7 @@ host->max_channel =1 ; host->unique_id = ata_unique_id++; host->max_cmd_len =12 ; -scsi_set_device (host, ent->dev); +scsi_assign_lock (host, &host_set->lock); ap->flags =ATA_FLAG_PORT_DISABLED ;
drivers/scsi/ips.h +1 -1
@@ -111,7 +111,7 @@#define IPS_UNREGISTER_HOSTS (SHT )#define IPS_ADD_HOST (shost,device) do { scsi_add_host(shost,device); scsi_scan_host(shost); } while (0)#define IPS_REMOVE_HOST (shost) scsi_remove_host(shost) -#define IPS_SCSI_SET_DEVICE (sh,ha) scsi_set_device(sh, &(ha)->pcidev->dev) +#define IPS_SCSI_SET_DEVICE (sh,ha) do { } while (0) #define IPS_PRINTK(level, pcidev, format, arg...) \ dev_printk(level , &((pcidev)->dev) , format , ## arg)#endif
drivers/message/fusion/mptfc.c +0 -4
@@ -267,10 +267,6 @@ sh->sg_tablesize = numSGE; } -/* Set the pci device pointer in Scsi_Host structure. -*/ -scsi_set_device (sh, &ioc->pcidev->dev); -spin_unlock_irqrestore (&ioc->FreeQlock, flags); hd = (MPT_SCSI_HOST *) sh->hostdata;
drivers/scsi/qlogicisp.c +0 -1
@@ -694,7 +694,6 @@memset (hostdata,0 ,sizeof (struct isp1020_hostdata )); hostdata->pci_dev = pdev; -scsi_set_device (host, &pdev->dev);if (isp1020_init (host)) goto fail_and_unregister;
Documentation/scsi/scsi_mid_low_api.txt +0 -15
@@ -388,7 +388,6 @@ scsi_remove_device - detach and remove a SCSI device scsi_remove_host - detach and remove all SCSI devices owned by host scsi_report_bus_reset - report scsi _bus_ reset observed - scsi_set_device - place device reference in host structure scsi_track_queue_full - track successive QUEUE_FULL events scsi_unblock_requests - allow further commands to be queued to given host scsi_unregister - [calls scsi_host_put()]
@@ -741,20 +740,6 @@ /** - * scsi_set_device - place device reference in host structure - * @shost: a pointer to a scsi host instance - * @pdev: pointer to device instance to assign - * - * Returns nothing - * - * Might block: no - * - * Defined in: include/scsi/scsi_host.h . - **/ -void scsi_set_device(struct Scsi_Host * shost, struct device * dev) - - -/** * scsi_track_queue_full - track successive QUEUE_FULL events on given * device to determine if and when there is a need * to adjust the queue depth on the device.
drivers/scsi/advansys.c +0 -2
@@ -4556,8 +4556,6 @@continue ; } -scsi_set_device (shp, dev); -/* Save a pointer to the Scsi_Host of each board found. */ asc_host[asc_board_count++] = shp;
include/scsi/scsi_host.h +0 -6
@@ -641,12 +641,6 @@ shost->host_lock = lock; } -static inline void scsi_set_device (struct Scsi_Host *shost, -struct device *dev) -{ - shost->shost_gendev.parent = dev; -} -static inline struct device *scsi_get_device (struct Scsi_Host *shost) {return shost->shost_gendev.parent;
drivers/scsi/qlogicfc.c +0 -1
@@ -746,7 +746,6 @@printk ("qlogicfc%d : could not register host.\n" , hosts);continue ; } -scsi_set_device (host, &pdev->dev); host->max_id =QLOGICFC_MAX_ID +1 ; host->max_lun =QLOGICFC_MAX_LUN ; hostdata = (struct isp2x00_hostdata *) host->hostdata;
drivers/scsi/gdth.c +1 -3
@@ -4521,9 +4521,7 @@ ha->virt_bus = hdr_channel; -#if LINUX_VERSION_CODE >=KERNEL_VERSION (2 ,6 ,0 ) -scsi_set_device (shp, &pcistr[ctr].pdev->dev); -#else +#if LINUX_VERSION_CODE <KERNEL_VERSION (2 ,6 ,0 )scsi_set_pci_device (shp, pcistr[ctr].pdev);#endif if (!(ha->cache_feat & ha->raw_feat & ha->screen_feat &GDT_64BIT)||
drivers/scsi/hosts.c +0 -5
@@ -180,11 +180,6 @@scsi_destroy_command_freelist (shost);kfree (shost->shost_data); -/* -* Some drivers (eg aha1542) do scsi_register()/scsi_unregister() -* during probing without performing a scsi_set_device() in between. -* In this case dev->parent is NULL. -*/ if (parent)put_device (parent);kfree (shost);
drivers/scsi/fdomain.c +0 -1
@@ -938,7 +938,6 @@ } shpnt->irq = interrupt_level; shpnt->io_port = port_base; -scsi_set_device (shpnt, &pdev->dev); shpnt->n_io_port =0x10 ;print_banner ( shpnt );
drivers/scsi/aic7xxx_old.c +0 -1
@@ -8448,7 +8448,6 @@ } p->host_no = host->host_no; } -scsi_set_device (host, &p->pdev->dev);return (p); }
drivers/scsi/cpqfcTSinit.c +0 -1
@@ -336,7 +336,6 @@DEBUG_PCI (printk (" PciDev->baseaddress[3]= %lx\n" , PciDev->resource[3 ].start)); -scsi_set_device (HostAdapter, &PciDev->dev); HostAdapter->irq = PciDev->irq;// copy for Scsi layers // HP Tachlite uses two (255-byte) ranges of Port I/O (lower & upper),
Quoted 6 lines · Christoph Hellwig
scsi_add_hostis the proper place to set the device, but people copy thescsi_set_deviceusage from older drivers again and again.note that this leaves some legacy drivers like qlogicisp/qlogicfc without pci association in sysfs, but they're scheduled to go away soon anyway.
Always separate out libata changes and send them to me (or at least CC).
There are tons of libata patches queued, and they need to go into that queue.
Further, I need to update 2.4.x for changes still.
Jeff