Skip to content

Commit 9040d02

Browse files
committed
fbdev/efifb: Remove PM for parent device
The EFI device has the correct parent device set. This allows Linux to handle the power management internally. Hence, remove the manual PM management for the parent device from efifb. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240212090736.11464-5-tzimmermann@suse.de
1 parent 9eac534 commit 9040d02

1 file changed

Lines changed: 3 additions & 13 deletions

File tree

drivers/video/fbdev/efifb.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include <linux/platform_device.h>
1818
#include <linux/printk.h>
1919
#include <linux/screen_info.h>
20-
#include <linux/pm_runtime.h>
2120
#include <video/vga.h>
2221
#include <asm/efi.h>
2322
#include <drm/drm_utils.h> /* For drm_get_panel_orientation_quirk */
@@ -258,9 +257,6 @@ static void efifb_destroy(struct fb_info *info)
258257
{
259258
struct efifb_par *par = info->par;
260259

261-
if (efifb_pci_dev)
262-
pm_runtime_put(&efifb_pci_dev->dev);
263-
264260
if (info->screen_base) {
265261
if (mem_flags & (EFI_MEMORY_UC | EFI_MEMORY_WC))
266262
iounmap(info->screen_base);
@@ -598,26 +594,20 @@ static int efifb_probe(struct platform_device *dev)
598594
goto err_groups;
599595
}
600596

601-
if (efifb_pci_dev)
602-
WARN_ON(pm_runtime_get_sync(&efifb_pci_dev->dev) < 0);
603-
604597
err = devm_aperture_acquire_for_platform_device(dev, par->base, par->size);
605598
if (err) {
606599
pr_err("efifb: cannot acquire aperture\n");
607-
goto err_put_rpm_ref;
600+
goto err_fb_dealloc_cmap;
608601
}
609602
err = register_framebuffer(info);
610603
if (err < 0) {
611604
pr_err("efifb: cannot register framebuffer\n");
612-
goto err_put_rpm_ref;
605+
goto err_fb_dealloc_cmap;
613606
}
614607
fb_info(info, "%s frame buffer device\n", info->fix.id);
615608
return 0;
616609

617-
err_put_rpm_ref:
618-
if (efifb_pci_dev)
619-
pm_runtime_put(&efifb_pci_dev->dev);
620-
610+
err_fb_dealloc_cmap:
621611
fb_dealloc_cmap(&info->cmap);
622612
err_groups:
623613
sysfs_remove_groups(&dev->dev.kobj, efifb_groups);

0 commit comments

Comments
 (0)