mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
agp/efficeon: Convert to generic power management
Convert agpgart-efficeon from legacy PCI power management to the generic
power management framework.
Previously agpgart-efficeon used legacy PCI power management, which means
agp_efficeon_suspend() and agp_efficeon_resume() were responsible for both
device-specific things and generic PCI things like saving and restoring
config space and managing power state.
In this case, agp_efficeon_suspend() was empty, and agp_efficeon_resume()
already did only device-specific things, so simply convert it to take a
struct device * instead of a struct pci_dev *.
Based on 0aeddbd0cb
("via-agp: convert to generic power management") by
Vaibhav Gupta <vaibhavgupta40@gmail.com>.
Link: https://lore.kernel.org/r/20221025203852.681822-2-helgaas@kernel.org
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
9abf2313ad
commit
94e9f9a23f
@ -412,18 +412,11 @@ static void agp_efficeon_remove(struct pci_dev *pdev)
|
||||
agp_put_bridge(bridge);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int agp_efficeon_suspend(struct pci_dev *dev, pm_message_t state)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int agp_efficeon_resume(struct pci_dev *pdev)
|
||||
static int agp_efficeon_resume(struct device *dev)
|
||||
{
|
||||
printk(KERN_DEBUG PFX "agp_efficeon_resume()\n");
|
||||
return efficeon_configure();
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct pci_device_id agp_efficeon_pci_table[] = {
|
||||
{
|
||||
@ -437,6 +430,8 @@ static const struct pci_device_id agp_efficeon_pci_table[] = {
|
||||
{ }
|
||||
};
|
||||
|
||||
static DEFINE_SIMPLE_DEV_PM_OPS(agp_efficeon_pm_ops, NULL, agp_efficeon_resume);
|
||||
|
||||
MODULE_DEVICE_TABLE(pci, agp_efficeon_pci_table);
|
||||
|
||||
static struct pci_driver agp_efficeon_pci_driver = {
|
||||
@ -444,10 +439,7 @@ static struct pci_driver agp_efficeon_pci_driver = {
|
||||
.id_table = agp_efficeon_pci_table,
|
||||
.probe = agp_efficeon_probe,
|
||||
.remove = agp_efficeon_remove,
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = agp_efficeon_suspend,
|
||||
.resume = agp_efficeon_resume,
|
||||
#endif
|
||||
.driver.pm = &agp_efficeon_pm_ops,
|
||||
};
|
||||
|
||||
static int __init agp_efficeon_init(void)
|
||||
|
Loading…
Reference in New Issue
Block a user