* [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device()
@ 2005-05-29 7:40 Jeff Garzik
2005-05-29 7:57 ` [PATCH 0/4] aic7xxx/aic79xx changes Jeff Garzik
2005-05-29 8:24 ` [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Christoph Hellwig
0 siblings, 2 replies; 7+ messages in thread
From: Jeff Garzik @ 2005-05-29 7:40 UTC (permalink / raw)
To: linux-scsi
[note: just for review... do not apply, will be submitted later via git]
author Jeff Garzik <jgarzik@pobox.com> Sun, 29 May 2005 06:47:07 -0400
committer Jeff Garzik <jgarzik@pobox.com> Sun, 29 May 2005 06:47:07 -0400
[SCSI] aic7xxx/aic79xx: call scsi_set_device()
The 2.4.x version correctly called scsi_set_pci_device(), but the
author missed the corresponding 2.6.x scsi_set_device() change.
This requires moving the definition of pci_dev_to_dev() from
include/linux/libata.h to include/linux/pci.h.
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -2022,6 +2022,8 @@ ahd_linux_register_host(struct ahd_softc
host->unique_id = ahd->unit;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
scsi_set_pci_device(host, ahd->dev_softc);
+#else
+ scsi_set_device(host, pci_dev_to_dev(ahd->dev_softc));
#endif
ahd_linux_setup_user_rd_strm_settings(ahd);
ahd_linux_initialize_scsi_bus(ahd);
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -1196,6 +1196,7 @@ ahc_linux_register_host(struct ahc_softc
ahc_set_name(ahc, new_name);
}
host->unique_id = ahc->unit;
+ scsi_set_device(host, pci_dev_to_dev(ahc->dev_softc));
ahc_linux_initialize_scsi_bus(ahc);
ahc_intr_enable(ahc, TRUE);
ahc_unlock(ahc, &s);
diff --git a/include/linux/libata.h b/include/linux/libata.h
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -69,12 +69,6 @@
/* defines only for the constants which don't work well as enums */
#define ATA_TAG_POISON 0xfafbfcfdU
-/* move to PCI layer? */
-static inline struct device *pci_dev_to_dev(struct pci_dev *pdev)
-{
- return &pdev->dev;
-}
-
enum {
/* various global constants */
LIBATA_MAX_PRD = ATA_MAX_PRD / 2,
diff --git a/include/linux/pci.h b/include/linux/pci.h
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -573,6 +573,11 @@ struct pci_dev {
#define to_pci_dev(n) container_of(n, struct pci_dev, dev)
#define for_each_pci_dev(d) while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d)) != NULL)
+static inline struct device *pci_dev_to_dev(struct pci_dev *pdev)
+{
+ return &pdev->dev;
+}
+
/*
* For PCI devices, the region numbers are assigned this way:
*
^ permalink raw reply [flat|nested] 7+ messages in thread* [PATCH 0/4] aic7xxx/aic79xx changes 2005-05-29 7:40 [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Jeff Garzik @ 2005-05-29 7:57 ` Jeff Garzik 2005-05-29 8:24 ` [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Christoph Hellwig 1 sibling, 0 replies; 7+ messages in thread From: Jeff Garzik @ 2005-05-29 7:57 UTC (permalink / raw) To: linux-scsi; +Cc: Arjan van de Ven To kernel hackers: These changes are all checked into git. Use the "aic" branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git If you need an introduction to git, read http://lkml.org/lkml/2005/5/26/11 Jeff ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() 2005-05-29 7:40 [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Jeff Garzik 2005-05-29 7:57 ` [PATCH 0/4] aic7xxx/aic79xx changes Jeff Garzik @ 2005-05-29 8:24 ` Christoph Hellwig 2005-05-29 8:27 ` Jeff Garzik 2005-05-29 8:52 ` [PATCH] " Jeff Garzik 1 sibling, 2 replies; 7+ messages in thread From: Christoph Hellwig @ 2005-05-29 8:24 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-scsi On Sun, May 29, 2005 at 03:40:29AM -0400, Jeff Garzik wrote: > > > [note: just for review... do not apply, will be submitted later via git] > > author Jeff Garzik <jgarzik@pobox.com> Sun, 29 May 2005 06:47:07 -0400 > committer Jeff Garzik <jgarzik@pobox.com> Sun, 29 May 2005 06:47:07 -0400 > > [SCSI] aic7xxx/aic79xx: call scsi_set_device() > > The 2.4.x version correctly called scsi_set_pci_device(), but the > author missed the corresponding 2.6.x scsi_set_device() change. scsi_add_host connects the host to the device tree. scsi_set_device is obsolete and should go away ASAP. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() 2005-05-29 8:24 ` [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Christoph Hellwig @ 2005-05-29 8:27 ` Jeff Garzik 2005-05-29 8:30 ` Christoph Hellwig 2005-05-29 8:52 ` [PATCH] " Jeff Garzik 1 sibling, 1 reply; 7+ messages in thread From: Jeff Garzik @ 2005-05-29 8:27 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-scsi Christoph Hellwig wrote: > scsi_add_host connects the host to the device tree. scsi_set_device > is obsolete and should go away ASAP. Ahhh, indeed it does. It sounds like I should remove scsi_set_device(), and all calls to it. Jeff ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() 2005-05-29 8:27 ` Jeff Garzik @ 2005-05-29 8:30 ` Christoph Hellwig 0 siblings, 0 replies; 7+ messages in thread From: Christoph Hellwig @ 2005-05-29 8:30 UTC (permalink / raw) To: Jeff Garzik; +Cc: linux-scsi On Sun, May 29, 2005 at 04:27:37AM -0400, Jeff Garzik wrote: > Christoph Hellwig wrote: > >scsi_add_host connects the host to the device tree. scsi_set_device > >is obsolete and should go away ASAP. > > Ahhh, indeed it does. > > It sounds like I should remove scsi_set_device(), and all calls to it. We keep it for the few drivers that still use pci_find_device/pci_get_device loops. And yes, usage of those APIs should go away aswell.. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH] Re: [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() 2005-05-29 8:24 ` [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Christoph Hellwig 2005-05-29 8:27 ` Jeff Garzik @ 2005-05-29 8:52 ` Jeff Garzik 2005-05-29 9:05 ` Christoph Hellwig 1 sibling, 1 reply; 7+ messages in thread From: Jeff Garzik @ 2005-05-29 8:52 UTC (permalink / raw) To: Christoph Hellwig; +Cc: linux-scsi [-- Attachment #1: Type: text/plain, Size: 250 bytes --] Christoph Hellwig wrote: > scsi_add_host connects the host to the device tree. scsi_set_device > is obsolete and should go away ASAP. Someone needs to tell authors of newer drivers not to use scsi_set_device(), until it can be deleted... Jeff [-- Attachment #2: patch --] [-- Type: text/plain, Size: 4154 bytes --] diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt --- a/Documentation/scsi/scsi_mid_low_api.txt +++ b/Documentation/scsi/scsi_mid_low_api.txt @@ -388,7 +388,7 @@ Summary: 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_set_device - place device reference in host structure (DEPRECATED) 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,7 +741,7 @@ void scsi_report_bus_reset(struct Scsi_H /** - * scsi_set_device - place device reference in host structure + * scsi_set_device - place device reference in host structure (DEPRECATED) * @shost: a pointer to a scsi host instance * @pdev: pointer to device instance to assign * @@ -750,6 +750,11 @@ void scsi_report_bus_reset(struct Scsi_H * Might block: no * * Defined in: include/scsi/scsi_host.h . + * + * Notes: Do not use this function, it only exists for a few + * ancient drivers. Add struct device* to scsi_add_host() + * instead. + * **/ void scsi_set_device(struct Scsi_Host * shost, struct device * dev) diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -1157,10 +1157,6 @@ mptscsih_probe(struct pci_dev *pdev, con 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; diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -7034,7 +7034,7 @@ ips_register_scsi(int index) sh->max_channel = ha->nbus - 1; sh->can_queue = ha->max_cmds - 1; - IPS_ADD_HOST(sh, NULL); + IPS_ADD_HOST(sh, &ha->pcidev->dev); return 0; } diff --git a/drivers/scsi/ips.h b/drivers/scsi/ips.h --- a/drivers/scsi/ips.h +++ b/drivers/scsi/ips.h @@ -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) #define IPS_PRINTK(level, pcidev, format, arg...) \ dev_printk(level , &((pcidev)->dev) , format , ## arg) #endif diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -3365,7 +3365,6 @@ static void ata_host_init(struct ata_por 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; diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c @@ -814,7 +814,6 @@ megaraid_io_attach(adapter_t *adapter) // 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; diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c --- a/drivers/scsi/nsp32.c +++ b/drivers/scsi/nsp32.c @@ -2720,9 +2720,7 @@ static int nsp32_detect(Scsi_Host_Templa 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Re: [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() 2005-05-29 8:52 ` [PATCH] " Jeff Garzik @ 2005-05-29 9:05 ` Christoph Hellwig 0 siblings, 0 replies; 7+ messages in thread From: Christoph Hellwig @ 2005-05-29 9:05 UTC (permalink / raw) To: Jeff Garzik; +Cc: Christoph Hellwig, linux-scsi On Sun, May 29, 2005 at 04:52:56AM -0400, Jeff Garzik wrote: > Christoph Hellwig wrote: > >scsi_add_host connects the host to the device tree. scsi_set_device > >is obsolete and should go away ASAP. > > Someone needs to tell authors of newer drivers not to use > scsi_set_device(), until it can be deleted... I do so in every review :) ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-05-29 9:05 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2005-05-29 7:40 [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Jeff Garzik 2005-05-29 7:57 ` [PATCH 0/4] aic7xxx/aic79xx changes Jeff Garzik 2005-05-29 8:24 ` [PATCH 1/4] aic7xxx/aic79xx: call scsi_set_device() Christoph Hellwig 2005-05-29 8:27 ` Jeff Garzik 2005-05-29 8:30 ` Christoph Hellwig 2005-05-29 8:52 ` [PATCH] " Jeff Garzik 2005-05-29 9:05 ` Christoph Hellwig
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox