+ detaching-fbcon-remove-calls-to-pci_disable_device.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled

     Detaching fbcon: remove calls to pci_disable_device()

has been added to the -mm tree.  Its filename is

     detaching-fbcon-remove-calls-to-pci_disable_device.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: Detaching fbcon: remove calls to pci_disable_device()
From: "Antonino A. Daplas" <adaplas@xxxxxxxxx>


Detaching fbcon allows individual drivers to be unloaded.  However several
drivers call pci_disable_device() upon exit.  This function will disable the
BAR's which will kill VGA text mode and/or affect X/DRM.

To prevent this, remove calls to pci_disable_device() from several drivers.

Signed-off-by: Antonino Daplas <adaplas@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/video/aty/radeon_base.c  |    2 --
 drivers/video/cirrusfb.c         |    2 --
 drivers/video/geode/gx1fb_core.c |    3 ---
 drivers/video/geode/gxfb_core.c  |    3 ---
 drivers/video/i810/i810_main.c   |    3 ---
 drivers/video/nvidia/nvidia.c    |    7 ++-----
 drivers/video/riva/fbdev.c       |    2 --
 7 files changed, 2 insertions(+), 20 deletions(-)

diff -puN drivers/video/aty/radeon_base.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/aty/radeon_base.c
--- devel/drivers/video/aty/radeon_base.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/aty/radeon_base.c	2006-06-06 15:12:53.000000000 -0700
@@ -2382,7 +2382,6 @@ err_release_pci0:
 err_release_fb:
         framebuffer_release(info);
 err_disable:
-	pci_disable_device(pdev);
 err_out:
 	return ret;
 }
@@ -2439,7 +2438,6 @@ static void __devexit radeonfb_pci_unreg
 #endif        
 	fb_dealloc_cmap(&info->cmap);
         framebuffer_release(info);
-	pci_disable_device(pdev);
 }
 
 
diff -puN drivers/video/cirrusfb.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/cirrusfb.c
--- devel/drivers/video/cirrusfb.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/cirrusfb.c	2006-06-06 15:12:53.000000000 -0700
@@ -2227,7 +2227,6 @@ static void cirrusfb_pci_unmap (struct c
 		release_region(0x3C0, 32);
 	pci_release_regions(pdev);
 	framebuffer_release(cinfo->info);
-	pci_disable_device(pdev);
 }
 #endif /* CONFIG_PCI */
 
@@ -2458,7 +2457,6 @@ err_release_regions:
 err_release_fb:
 	framebuffer_release(info);
 err_disable:
-	pci_disable_device(pdev);
 err_out:
 	return ret;
 }
diff -puN drivers/video/geode/gx1fb_core.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/geode/gx1fb_core.c
--- devel/drivers/video/geode/gx1fb_core.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/geode/gx1fb_core.c	2006-06-06 15:12:53.000000000 -0700
@@ -376,8 +376,6 @@ static int __init gx1fb_probe(struct pci
 		release_mem_region(gx1_gx_base() + 0x8300, 0x100);
 	}
 
-	pci_disable_device(pdev);
-
 	if (info)
 		framebuffer_release(info);
 	return ret;
@@ -399,7 +397,6 @@ static void gx1fb_remove(struct pci_dev 
 	iounmap(par->dc_regs);
 	release_mem_region(gx1_gx_base() + 0x8300, 0x100);
 
-	pci_disable_device(pdev);
 	pci_set_drvdata(pdev, NULL);
 
 	framebuffer_release(info);
diff -puN drivers/video/geode/gxfb_core.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/geode/gxfb_core.c
--- devel/drivers/video/geode/gxfb_core.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/geode/gxfb_core.c	2006-06-06 15:12:53.000000000 -0700
@@ -354,8 +354,6 @@ static int __init gxfb_probe(struct pci_
 		pci_release_region(pdev, 2);
 	}
 
-	pci_disable_device(pdev);
-
 	if (info)
 		framebuffer_release(info);
 	return ret;
@@ -377,7 +375,6 @@ static void gxfb_remove(struct pci_dev *
 	iounmap(par->dc_regs);
 	pci_release_region(pdev, 2);
 
-	pci_disable_device(pdev);
 	pci_set_drvdata(pdev, NULL);
 
 	framebuffer_release(info);
diff -puN drivers/video/i810/i810_main.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/i810/i810_main.c
--- devel/drivers/video/i810/i810_main.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/i810/i810_main.c	2006-06-06 15:12:53.000000000 -0700
@@ -2110,9 +2110,6 @@ static void i810fb_release_resource(stru
 	if (par->res_flags & MMIO_REQ)
 		release_mem_region(par->mmio_start_phys, MMIO_SIZE);
 
-	if (par->res_flags & PCI_DEVICE_ENABLED)
-		pci_disable_device(par->dev);
-
 	framebuffer_release(info);
 
 }
diff -puN drivers/video/nvidia/nvidia.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/nvidia/nvidia.c
--- devel/drivers/video/nvidia/nvidia.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/nvidia/nvidia.c	2006-06-06 15:12:53.000000000 -0700
@@ -1219,7 +1219,7 @@ static int __devinit nvidiafb_probe(stru
 
 	if (pci_request_regions(pd, "nvidiafb")) {
 		printk(KERN_ERR PFX "cannot request PCI regions\n");
-		goto err_out_request;
+		goto err_out_enable;
 	}
 
 	par->FlatPanel = flatpanel;
@@ -1338,10 +1338,8 @@ err_out_free_base1:
 	nvidia_delete_i2c_busses(par);
 err_out_arch:
 	iounmap(par->REGS);
-err_out_free_base0:
+ err_out_free_base0:
 	pci_release_regions(pd);
-err_out_request:
-	pci_disable_device(pd);
 err_out_enable:
 	kfree(info->pixmap.addr);
 err_out_kfree:
@@ -1371,7 +1369,6 @@ static void __exit nvidiafb_remove(struc
 	nvidia_delete_i2c_busses(par);
 	iounmap(par->REGS);
 	pci_release_regions(pd);
-	pci_disable_device(pd);
 	kfree(info->pixmap.addr);
 	framebuffer_release(info);
 	pci_set_drvdata(pd, NULL);
diff -puN drivers/video/riva/fbdev.c~detaching-fbcon-remove-calls-to-pci_disable_device drivers/video/riva/fbdev.c
--- devel/drivers/video/riva/fbdev.c~detaching-fbcon-remove-calls-to-pci_disable_device	2006-06-06 15:12:53.000000000 -0700
+++ devel-akpm/drivers/video/riva/fbdev.c	2006-06-06 15:12:53.000000000 -0700
@@ -2152,7 +2152,6 @@ err_iounmap_ctrl_base:
 err_release_region:
 	pci_release_regions(pd);
 err_disable_device:
-	pci_disable_device(pd);
 err_free_pixmap:
 	kfree(info->pixmap.addr);
 err_framebuffer_release:
@@ -2187,7 +2186,6 @@ static void __exit rivafb_remove(struct 
 	if (par->riva.Architecture == NV_ARCH_03)
 		iounmap(par->riva.PRAMIN);
 	pci_release_regions(pd);
-	pci_disable_device(pd);
 	kfree(info->pixmap.addr);
 	framebuffer_release(info);
 	pci_set_drvdata(pd, NULL);
_

Patches currently in -mm which might be from adaplas@xxxxxxxxx are

git-intelfb.patch
savagefb-allocate-space-for-current-and-saved-register.patch
savagefb-add-state-save-and_restore-hooks.patch
savagefb-add-state-save-and_restore-hooks-fix.patch
fbdev-more-accurate-sync-range-extrapolation.patch
nvidiafb-revise-pci_device_id-table.patch
atyfb-fix-hardware-cursor-handling.patch
atyfb-remove-unneeded-calls-to-wait_for_idle.patch
atyfb-set-correct-acceleration-flags.patch
epson1355fb-update-platform-code.patch
vesafb-update-platform-code.patch
vfb-update-platform-code.patch
vga16fb-update-platform-code.patch
fbdev-static-pseudocolor-with-depth-less-than-4-does.patch
savagefb-whitespace-cleanup.patch
fbdev-firmware-edid-fixes.patch
nvidiafb-add-support-for-geforce-6100-and-related-chipsets.patch
vesafb-fix-return-code-of-vesafb_setcolreg.patch
vesafb-prefer-vga-registers-over-pmi.patch
atyfb-fix-dead-code.patch
fbdev-coverity-bug-85.patch
fbdev-coverity-bug-90.patch
backlight-fix-kconfig-dependency.patch
detaching-fbcon-fix-vgacon-to-allow-retaking-of-the.patch
detaching-fbcon-fix-give_up_console.patch
detaching-fbcon-remove-calls-to-pci_disable_device.patch
detaching-fbcon-add-sysfs-class-device-entry-for-fbcon.patch
detaching-fbcon-clean-up-exit-code.patch
detaching-fbcon-add-capability-to-attach-detach-fbcon.patch
detaching-fbcon-update-documentation.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux