linux/drivers/pnp
Bjorn Helgaas 0509ad5e1a PNP: disable PNP motherboard resources that overlap PCI BARs
Some BIOSes have PNP motherboard devices with resources that
partially overlap PCI BARs.  The PNP system driver claims these
motherboard resources, which prevents the normal PCI driver from
requesting them later.

This patch disables the PNP resources that conflict with PCI BARs
so they won't be claimed by the PNP system driver.

Of course, this only works if PCI devices have already been enumerated.
Currently this is the case because PCI devices are discovered before
any PNP init via this path:

    acpi_pci_root_init() -> acpi_pci_root_add() -> pci_acpi_scan_root() ->
	pci_scan_bus_parented() -> pci_scan_child_bus() -> ...

Avuton Olrich tested this and confirmed that it fixes his ALSA sound
card (see http://lkml.org/lkml/2008/1/27/168).

References:
    https://bugzilla.redhat.com/show_bug.cgi?id=280641
    https://bugzilla.redhat.com/show_bug.cgi?id=313491
    http://lkml.org/lkml/2008/1/9/449
    http://thread.gmane.org/gmane.linux.acpi.devel/27312
    http://lkml.org/lkml/2008/1/27/168

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-03-12 12:39:36 -07:00
..
isapnp [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-16 16:51:18 +02:00
pnpacpi pnpacpi: __initdata is not an identifier 2008-02-14 01:19:16 -05:00
pnpbios Dont touch fs_struct in drivers 2008-02-14 21:13:32 -08:00
base.h
card.c PNP: use dev_info(), dev_err(), etc in core 2007-10-17 08:43:04 -07:00
core.c PNP: add debug message for adding new device 2007-10-17 08:43:04 -07:00
driver.c PNP: do not test PNP_DRIVER_RES_DO_NOT_CHANGE on suspend/resume 2008-02-06 10:41:20 -08:00
interface.c isapnp driver semaphore to mutex 2008-02-06 10:41:20 -08:00
Kconfig
Makefile PNP: use dev_info(), dev_err(), etc in core 2007-10-17 08:43:04 -07:00
manager.c isapnp driver semaphore to mutex 2008-02-06 10:41:20 -08:00
quirks.c PNP: disable PNP motherboard resources that overlap PCI BARs 2008-03-12 12:39:36 -07:00
resource.c drivers/pnp/resource.c: Add missing pci_dev_put 2007-11-29 09:24:52 -08:00
support.c PNP: fix up after Lindent 2007-07-26 11:35:21 -07:00
system.c PNP: use dev_info() in system driver 2007-10-17 08:43:04 -07:00