Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 139339
b: refs/heads/master
c: 3a3c244
h: refs/heads/master
i:
  139337: c9ebafb
  139335: bd64ffd
v: v3
  • Loading branch information
Rafael J. Wysocki authored and Jesse Barnes committed Mar 20, 2009
1 parent a794361 commit 79a9f6e
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 36 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ae40582e9959cdb7bfe4b918be8e3d19f9511798
refs/heads/master: 3a3c244c9a355105bc193fde873c73727bf87192
4 changes: 2 additions & 2 deletions trunk/drivers/pci/hotplug/pciehp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ static void pciehp_remove (struct pcie_device *dev)
}

#ifdef CONFIG_PM
static int pciehp_suspend (struct pcie_device *dev, pm_message_t state)
static int pciehp_suspend (struct pcie_device *dev)
{
dev_info(&dev->device, "%s ENTRY\n", __func__);
return 0;
Expand Down Expand Up @@ -503,7 +503,7 @@ static int pciehp_resume (struct pcie_device *dev)
}
return 0;
}
#endif
#endif /* PM */

static struct pcie_port_service_driver hpdriver_portdrv = {
.name = PCIE_MODULE_NAME,
Expand Down
6 changes: 0 additions & 6 deletions trunk/drivers/pci/pcie/aer/aerdrv.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@ MODULE_LICENSE("GPL");

static int __devinit aer_probe (struct pcie_device *dev);
static void aer_remove(struct pcie_device *dev);
static int aer_suspend(struct pcie_device *dev, pm_message_t state)
{return 0;}
static int aer_resume(struct pcie_device *dev) {return 0;}
static pci_ers_result_t aer_error_detected(struct pci_dev *dev,
enum pci_channel_state error);
static void aer_error_resume(struct pci_dev *dev);
Expand All @@ -61,9 +58,6 @@ static struct pcie_port_service_driver aerdriver = {
.probe = aer_probe,
.remove = aer_remove,

.suspend = aer_suspend,
.resume = aer_resume,

.err_handler = &aer_error_handlers,

.reset_link = aer_root_reset,
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/pci/pcie/portdrv.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ extern struct bus_type pcie_port_bus_type;
extern int pcie_port_device_probe(struct pci_dev *dev);
extern int pcie_port_device_register(struct pci_dev *dev);
#ifdef CONFIG_PM
extern int pcie_port_device_suspend(struct pci_dev *dev, pm_message_t state);
extern int pcie_port_device_resume(struct pci_dev *dev);
extern int pcie_port_device_suspend(struct device *dev);
extern int pcie_port_device_resume(struct device *dev);
#endif
extern void pcie_port_device_remove(struct pci_dev *dev);
extern int __must_check pcie_port_bus_register(void);
Expand Down
14 changes: 6 additions & 8 deletions trunk/drivers/pci/pcie/portdrv_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -410,25 +410,23 @@ int pcie_port_device_register(struct pci_dev *dev)
static int suspend_iter(struct device *dev, void *data)
{
struct pcie_port_service_driver *service_driver;
pm_message_t state = * (pm_message_t *) data;

if ((dev->bus == &pcie_port_bus_type) &&
(dev->driver)) {
service_driver = to_service_driver(dev->driver);
if (service_driver->suspend)
service_driver->suspend(to_pcie_device(dev), state);
service_driver->suspend(to_pcie_device(dev));
}
return 0;
}

/**
* pcie_port_device_suspend - suspend port services associated with a PCIe port
* @dev: PCI Express port to handle
* @state: Representation of system power management transition in progress
*/
int pcie_port_device_suspend(struct pci_dev *dev, pm_message_t state)
int pcie_port_device_suspend(struct device *dev)
{
return device_for_each_child(&dev->dev, &state, suspend_iter);
return device_for_each_child(dev, NULL, suspend_iter);
}

static int resume_iter(struct device *dev, void *data)
Expand All @@ -448,11 +446,11 @@ static int resume_iter(struct device *dev, void *data)
* pcie_port_device_suspend - resume port services associated with a PCIe port
* @dev: PCI Express port to handle
*/
int pcie_port_device_resume(struct pci_dev *dev)
int pcie_port_device_resume(struct device *dev)
{
return device_for_each_child(&dev->dev, NULL, resume_iter);
return device_for_each_child(dev, NULL, resume_iter);
}
#endif
#endif /* PM */

static int remove_iter(struct device *dev, void *data)
{
Expand Down
31 changes: 15 additions & 16 deletions trunk/drivers/pci/pcie/portdrv_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,21 @@ static int pcie_portdrv_restore_config(struct pci_dev *dev)
}

#ifdef CONFIG_PM
static int pcie_portdrv_suspend(struct pci_dev *dev, pm_message_t state)
{
return pcie_port_device_suspend(dev, state);
static struct dev_pm_ops pcie_portdrv_pm_ops = {
.suspend = pcie_port_device_suspend,
.resume = pcie_port_device_resume,
.freeze = pcie_port_device_suspend,
.thaw = pcie_port_device_resume,
.poweroff = pcie_port_device_suspend,
.restore = pcie_port_device_resume,
};

}
#define PCIE_PORTDRV_PM_OPS (&pcie_portdrv_pm_ops)

static int pcie_portdrv_resume(struct pci_dev *dev)
{
pci_set_master(dev);
return pcie_port_device_resume(dev);
}
#else
#define pcie_portdrv_suspend NULL
#define pcie_portdrv_resume NULL
#endif
#else /* !PM */

#define PCIE_PORTDRV_PM_OPS NULL
#endif /* !PM */

/*
* pcie_portdrv_probe - Probe PCI-Express port devices
Expand Down Expand Up @@ -268,10 +268,9 @@ static struct pci_driver pcie_portdriver = {
.probe = pcie_portdrv_probe,
.remove = pcie_portdrv_remove,

.suspend = pcie_portdrv_suspend,
.resume = pcie_portdrv_resume,

.err_handler = &pcie_portdrv_err_handler,

.driver.pm = PCIE_PORTDRV_PM_OPS,
};

static int __init pcie_portdrv_init(void)
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/linux/pcieport_if.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ struct pcie_port_service_driver {
const char *name;
int (*probe) (struct pcie_device *dev);
void (*remove) (struct pcie_device *dev);
int (*suspend) (struct pcie_device *dev, pm_message_t state);
int (*suspend) (struct pcie_device *dev);
int (*resume) (struct pcie_device *dev);

/* Service Error Recovery Handler */
Expand Down

0 comments on commit 79a9f6e

Please sign in to comment.