summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev/aty/radeon_base.c
diff options
context:
space:
mode:
authorVaibhav Gupta <vaibhavgupta40@gmail.com>2020-09-07 10:02:21 +0300
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>2020-09-08 14:33:35 +0300
commit8e0bd31dad0665d8b942cb05495abb5ec931fde0 (patch)
tree8cd72dfff00bb2ec87933c483830a93a54f34074 /drivers/video/fbdev/aty/radeon_base.c
parent8c2bb49f38c94063a739da1758364645e5cd53e1 (diff)
downloadlinux-8e0bd31dad0665d8b942cb05495abb5ec931fde0.tar.xz
fbdev: radeonfb: use generic power management
Drivers using legacy PCI power management .suspend()/.resume() callbacks have to manage PCI states and device's PM states themselves. They also need to take care of standard configuration registers. Switch to generic power management framework using a "struct dev_pm_ops" variable to take the unnecessary load from the driver. This also avoids the need for the driver to directly call most of the PCI helper functions and device power state control functions, as through the generic framework PCI Core takes care of the necessary operations, and drivers are required to do only device-specific jobs. Signed-off-by: Vaibhav Gupta <vaibhavgupta40@gmail.com> Cc: Bjorn Helgaas <helgaas@kernel.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Bjorn Helgaas <bjorn@helgaas.com> Cc: Vaibhav Gupta <vaibhav.varodek@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thierry Reding <treding@nvidia.com> Cc: Shuah Khan <skhan@linuxfoundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200907070221.29938-3-vaibhavgupta40@gmail.com
Diffstat (limited to 'drivers/video/fbdev/aty/radeon_base.c')
-rw-r--r--drivers/video/fbdev/aty/radeon_base.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c
index 13bd2bd5c043..2fe690150420 100644
--- a/drivers/video/fbdev/aty/radeon_base.c
+++ b/drivers/video/fbdev/aty/radeon_base.c
@@ -2555,16 +2555,18 @@ static void radeonfb_pci_unregister(struct pci_dev *pdev)
framebuffer_release(info);
}
+#ifdef CONFIG_PM
+#define RADEONFB_PCI_PM_OPS (&radeonfb_pci_pm_ops)
+#else
+#define RADEONFB_PCI_PM_OPS NULL
+#endif
static struct pci_driver radeonfb_driver = {
.name = "radeonfb",
.id_table = radeonfb_pci_table,
.probe = radeonfb_pci_register,
.remove = radeonfb_pci_unregister,
-#ifdef CONFIG_PM
- .suspend = radeonfb_pci_suspend,
- .resume = radeonfb_pci_resume,
-#endif /* CONFIG_PM */
+ .driver.pm = RADEONFB_PCI_PM_OPS,
};
#ifndef MODULE