[PATCH] PCI: make drivers use the pci shutdown callback instead of the driver core callback.

Now we can change the pci core to always set this pointer, as pci drivers
should use it, not the driver core callback.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Greg Kroah-Hartman 2005-06-23 17:35:56 -07:00
Родитель 4002307d2b
Коммит d18c3db58b
10 изменённых файлов: 27 добавлений и 47 удалений

Просмотреть файл

@ -364,9 +364,7 @@ static struct pci_driver mptfc_driver = {
.id_table = mptfc_pci_table, .id_table = mptfc_pci_table,
.probe = mptfc_probe, .probe = mptfc_probe,
.remove = __devexit_p(mptscsih_remove), .remove = __devexit_p(mptscsih_remove),
.driver = { .shutdown = mptscsih_shutdown,
.shutdown = mptscsih_shutdown,
},
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = mptscsih_suspend, .suspend = mptscsih_suspend,
.resume = mptscsih_resume, .resume = mptscsih_resume,

Просмотреть файл

@ -170,7 +170,7 @@ static void mptscsih_fillbuf(char *buffer, int size, int index, int width);
#endif #endif
void mptscsih_remove(struct pci_dev *); void mptscsih_remove(struct pci_dev *);
void mptscsih_shutdown(struct device *); void mptscsih_shutdown(struct pci_dev *);
#ifdef CONFIG_PM #ifdef CONFIG_PM
int mptscsih_suspend(struct pci_dev *pdev, pm_message_t state); int mptscsih_suspend(struct pci_dev *pdev, pm_message_t state);
int mptscsih_resume(struct pci_dev *pdev); int mptscsih_resume(struct pci_dev *pdev);
@ -988,7 +988,7 @@ mptscsih_remove(struct pci_dev *pdev)
#endif #endif
#endif #endif
mptscsih_shutdown(&pdev->dev); mptscsih_shutdown(pdev);
sz1=0; sz1=0;
@ -1026,9 +1026,9 @@ mptscsih_remove(struct pci_dev *pdev)
* *
*/ */
void void
mptscsih_shutdown(struct device * dev) mptscsih_shutdown(struct pci_dev *pdev)
{ {
MPT_ADAPTER *ioc = pci_get_drvdata(to_pci_dev(dev)); MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
struct Scsi_Host *host = ioc->sh; struct Scsi_Host *host = ioc->sh;
MPT_SCSI_HOST *hd; MPT_SCSI_HOST *hd;
@ -1054,7 +1054,7 @@ mptscsih_shutdown(struct device * dev)
int int
mptscsih_suspend(struct pci_dev *pdev, pm_message_t state) mptscsih_suspend(struct pci_dev *pdev, pm_message_t state)
{ {
mptscsih_shutdown(&pdev->dev); mptscsih_shutdown(pdev);
return mpt_suspend(pdev,state); return mpt_suspend(pdev,state);
} }

Просмотреть файл

@ -82,7 +82,7 @@
#endif #endif
extern void mptscsih_remove(struct pci_dev *); extern void mptscsih_remove(struct pci_dev *);
extern void mptscsih_shutdown(struct device *); extern void mptscsih_shutdown(struct pci_dev *);
#ifdef CONFIG_PM #ifdef CONFIG_PM
extern int mptscsih_suspend(struct pci_dev *pdev, u32 state); extern int mptscsih_suspend(struct pci_dev *pdev, u32 state);
extern int mptscsih_resume(struct pci_dev *pdev); extern int mptscsih_resume(struct pci_dev *pdev);

Просмотреть файл

@ -419,9 +419,7 @@ static struct pci_driver mptspi_driver = {
.id_table = mptspi_pci_table, .id_table = mptspi_pci_table,
.probe = mptspi_probe, .probe = mptspi_probe,
.remove = __devexit_p(mptscsih_remove), .remove = __devexit_p(mptscsih_remove),
.driver = { .shutdown = mptscsih_shutdown,
.shutdown = mptscsih_shutdown,
},
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = mptscsih_suspend, .suspend = mptscsih_suspend,
.resume = mptscsih_resume, .resume = mptscsih_resume,

Просмотреть файл

@ -2440,9 +2440,8 @@ static int e100_resume(struct pci_dev *pdev)
#endif #endif
static void e100_shutdown(struct device *dev) static void e100_shutdown(struct pci_dev *pdev)
{ {
struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
struct net_device *netdev = pci_get_drvdata(pdev); struct net_device *netdev = pci_get_drvdata(pdev);
struct nic *nic = netdev_priv(netdev); struct nic *nic = netdev_priv(netdev);
@ -2463,11 +2462,7 @@ static struct pci_driver e100_driver = {
.suspend = e100_suspend, .suspend = e100_suspend,
.resume = e100_resume, .resume = e100_resume,
#endif #endif
.shutdown = e100_shutdown,
.driver = {
.shutdown = e100_shutdown,
}
}; };
static int __init e100_init_module(void) static int __init e100_init_module(void)

Просмотреть файл

@ -507,7 +507,7 @@ static struct net_device_stats *rhine_get_stats(struct net_device *dev);
static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static struct ethtool_ops netdev_ethtool_ops; static struct ethtool_ops netdev_ethtool_ops;
static int rhine_close(struct net_device *dev); static int rhine_close(struct net_device *dev);
static void rhine_shutdown (struct device *gdev); static void rhine_shutdown (struct pci_dev *pdev);
#define RHINE_WAIT_FOR(condition) do { \ #define RHINE_WAIT_FOR(condition) do { \
int i=1024; \ int i=1024; \
@ -1895,9 +1895,8 @@ static void __devexit rhine_remove_one(struct pci_dev *pdev)
pci_set_drvdata(pdev, NULL); pci_set_drvdata(pdev, NULL);
} }
static void rhine_shutdown (struct device *gendev) static void rhine_shutdown (struct pci_dev *pdev)
{ {
struct pci_dev *pdev = to_pci_dev(gendev);
struct net_device *dev = pci_get_drvdata(pdev); struct net_device *dev = pci_get_drvdata(pdev);
struct rhine_private *rp = netdev_priv(dev); struct rhine_private *rp = netdev_priv(dev);
void __iomem *ioaddr = rp->base; void __iomem *ioaddr = rp->base;
@ -1956,7 +1955,7 @@ static int rhine_suspend(struct pci_dev *pdev, pm_message_t state)
pci_save_state(pdev); pci_save_state(pdev);
spin_lock_irqsave(&rp->lock, flags); spin_lock_irqsave(&rp->lock, flags);
rhine_shutdown(&pdev->dev); rhine_shutdown(pdev);
spin_unlock_irqrestore(&rp->lock, flags); spin_unlock_irqrestore(&rp->lock, flags);
free_irq(dev->irq, dev); free_irq(dev->irq, dev);
@ -2010,9 +2009,7 @@ static struct pci_driver rhine_driver = {
.suspend = rhine_suspend, .suspend = rhine_suspend,
.resume = rhine_resume, .resume = rhine_resume,
#endif /* CONFIG_PM */ #endif /* CONFIG_PM */
.driver = { .shutdown = rhine_shutdown,
.shutdown = rhine_shutdown,
}
}; };

Просмотреть файл

@ -1916,9 +1916,9 @@ static void __twa_shutdown(TW_Device_Extension *tw_dev)
} /* End __twa_shutdown() */ } /* End __twa_shutdown() */
/* Wrapper for __twa_shutdown */ /* Wrapper for __twa_shutdown */
static void twa_shutdown(struct device *dev) static void twa_shutdown(struct pci_dev *pdev)
{ {
struct Scsi_Host *host = pci_get_drvdata(to_pci_dev(dev)); struct Scsi_Host *host = pci_get_drvdata(pdev);
TW_Device_Extension *tw_dev = (TW_Device_Extension *)host->hostdata; TW_Device_Extension *tw_dev = (TW_Device_Extension *)host->hostdata;
__twa_shutdown(tw_dev); __twa_shutdown(tw_dev);
@ -2140,9 +2140,7 @@ static struct pci_driver twa_driver = {
.id_table = twa_pci_tbl, .id_table = twa_pci_tbl,
.probe = twa_probe, .probe = twa_probe,
.remove = twa_remove, .remove = twa_remove,
.driver = { .shutdown = twa_shutdown
.shutdown = twa_shutdown
}
}; };
/* This function is called on driver initialization */ /* This function is called on driver initialization */

Просмотреть файл

@ -2264,9 +2264,9 @@ static void __tw_shutdown(TW_Device_Extension *tw_dev)
} /* End __tw_shutdown() */ } /* End __tw_shutdown() */
/* Wrapper for __tw_shutdown */ /* Wrapper for __tw_shutdown */
static void tw_shutdown(struct device *dev) static void tw_shutdown(struct pci_dev *pdev)
{ {
struct Scsi_Host *host = pci_get_drvdata(to_pci_dev(dev)); struct Scsi_Host *host = pci_get_drvdata(pdev);
TW_Device_Extension *tw_dev = (TW_Device_Extension *)host->hostdata; TW_Device_Extension *tw_dev = (TW_Device_Extension *)host->hostdata;
__tw_shutdown(tw_dev); __tw_shutdown(tw_dev);
@ -2451,9 +2451,7 @@ static struct pci_driver tw_driver = {
.id_table = tw_pci_tbl, .id_table = tw_pci_tbl,
.probe = tw_probe, .probe = tw_probe,
.remove = tw_remove, .remove = tw_remove,
.driver = { .shutdown = tw_shutdown,
.shutdown = tw_shutdown
}
}; };
/* This function is called on driver initialization */ /* This function is called on driver initialization */

Просмотреть файл

@ -6012,7 +6012,7 @@ static int __devinit ipr_probe(struct pci_dev *pdev,
/** /**
* ipr_shutdown - Shutdown handler. * ipr_shutdown - Shutdown handler.
* @dev: device struct * @pdev: pci device struct
* *
* This function is invoked upon system shutdown/reboot. It will issue * This function is invoked upon system shutdown/reboot. It will issue
* an adapter shutdown to the adapter to flush the write cache. * an adapter shutdown to the adapter to flush the write cache.
@ -6020,9 +6020,9 @@ static int __devinit ipr_probe(struct pci_dev *pdev,
* Return value: * Return value:
* none * none
**/ **/
static void ipr_shutdown(struct device *dev) static void ipr_shutdown(struct pci_dev *pdev)
{ {
struct ipr_ioa_cfg *ioa_cfg = pci_get_drvdata(to_pci_dev(dev)); struct ipr_ioa_cfg *ioa_cfg = pci_get_drvdata(pdev);
unsigned long lock_flags = 0; unsigned long lock_flags = 0;
spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
@ -6068,9 +6068,7 @@ static struct pci_driver ipr_driver = {
.id_table = ipr_pci_table, .id_table = ipr_pci_table,
.probe = ipr_probe, .probe = ipr_probe,
.remove = ipr_remove, .remove = ipr_remove,
.driver = { .shutdown = ipr_shutdown,
.shutdown = ipr_shutdown,
},
}; };
/** /**

Просмотреть файл

@ -5036,9 +5036,9 @@ megaraid_remove_one(struct pci_dev *pdev)
} }
static void static void
megaraid_shutdown(struct device *dev) megaraid_shutdown(struct pci_dev *pdev)
{ {
struct Scsi_Host *host = pci_get_drvdata(to_pci_dev(dev)); struct Scsi_Host *host = pci_get_drvdata(pdev);
adapter_t *adapter = (adapter_t *)host->hostdata; adapter_t *adapter = (adapter_t *)host->hostdata;
__megaraid_shutdown(adapter); __megaraid_shutdown(adapter);
@ -5070,9 +5070,7 @@ static struct pci_driver megaraid_pci_driver = {
.id_table = megaraid_pci_tbl, .id_table = megaraid_pci_tbl,
.probe = megaraid_probe_one, .probe = megaraid_probe_one,
.remove = __devexit_p(megaraid_remove_one), .remove = __devexit_p(megaraid_remove_one),
.driver = { .shutdown = megaraid_shutdown,
.shutdown = megaraid_shutdown,
},
}; };
static int __init megaraid_init(void) static int __init megaraid_init(void)