]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI/ACPI: Make acpiphp ignore root bridges using SHPC native hotplug
authorRafael J. Wysocki <rjw@sisk.pl>
Sun, 6 Nov 2011 22:11:28 +0000 (23:11 +0100)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 6 Dec 2011 17:26:04 +0000 (09:26 -0800)
commit71c50ab7a32968b73b533dd27620eef563ace6b7
treea50691d8ffaeede4c1f71cb5fffe048efa8a3c1c
parentf57aa549c1fd85cad7298486add4e49575310a35
PCI/ACPI: Make acpiphp ignore root bridges using SHPC native hotplug

If the kernel has requested control of the SHPC native hotplug
feature for a given root bridge, the acpiphp driver should not try
to handle that root bridge and it should leave it to shpchp.
Failing to do so causes problems to happen if shpchp is loaded
and unloaded before loading acpiphp (ACPI-based hotplug won't work
in that case anyway).

To address this issue make find_root_bridges() ignore PCI root
bridges with SHPC native hotplug enabled and make add_bridge()
return error code if SHPC native hotplug is enabled for the given
root bridge.  This causes acpiphp to refuse to load if SHPC native
hotplug is enabled for all root bridges and to refuse binding to
the root bridges with SHPC native hotplug enabled.

Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/acpiphp_glue.c
include/linux/acpi.h