diff options
author | Andrew Patterson <andrew.patterson@hp.com> | 2008-01-22 19:18:12 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-01 18:04:29 -0500 |
commit | c2778357234f84668eab5558b54ad28478439d0b (patch) | |
tree | 9820e6cfa1bfe6989854425b0d63840c949fa3f2 /drivers/pci | |
parent | 02d90fc343411d6dff26bbd64f0895a243e6f608 (diff) |
PCI ACPI: Added a function to register _OSC with only PCIe devices.
The function pci_osc_support_set() traverses every root bridge when
checking for _OSC support for a capability. It quits as soon as it finds a
device/bridge that doesn't support the requested capability. This won't
work for systems that have mixed PCI and PCIe bridges when checking for
PCIe features. I split this function into two -- pci_osc_support_set() and
pcie_osc_support_set(). The latter is used when only PCIe devices should be
traversed.
Signed-off-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci-acpi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index 02e4876b3b2c..e569645d59e2 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c | |||
@@ -156,13 +156,13 @@ run_osc_out: | |||
156 | } | 156 | } |
157 | 157 | ||
158 | /** | 158 | /** |
159 | * pci_osc_support_set - register OS support to Firmware | 159 | * __pci_osc_support_set - register OS support to Firmware |
160 | * @flags: OS support bits | 160 | * @flags: OS support bits |
161 | * | 161 | * |
162 | * Update OS support fields and doing a _OSC Query to obtain an update | 162 | * Update OS support fields and doing a _OSC Query to obtain an update |
163 | * from Firmware on supported control bits. | 163 | * from Firmware on supported control bits. |
164 | **/ | 164 | **/ |
165 | acpi_status pci_osc_support_set(u32 flags) | 165 | acpi_status __pci_osc_support_set(u32 flags, const char *hid) |
166 | { | 166 | { |
167 | u32 temp; | 167 | u32 temp; |
168 | acpi_status retval; | 168 | acpi_status retval; |
@@ -176,7 +176,7 @@ acpi_status pci_osc_support_set(u32 flags) | |||
176 | temp = ctrlset_buf[OSC_CONTROL_TYPE]; | 176 | temp = ctrlset_buf[OSC_CONTROL_TYPE]; |
177 | ctrlset_buf[OSC_QUERY_TYPE] = OSC_QUERY_ENABLE; | 177 | ctrlset_buf[OSC_QUERY_TYPE] = OSC_QUERY_ENABLE; |
178 | ctrlset_buf[OSC_CONTROL_TYPE] = OSC_CONTROL_MASKS; | 178 | ctrlset_buf[OSC_CONTROL_TYPE] = OSC_CONTROL_MASKS; |
179 | acpi_get_devices ( PCI_ROOT_HID_STRING, | 179 | acpi_get_devices(hid, |
180 | acpi_query_osc, | 180 | acpi_query_osc, |
181 | ctrlset_buf, | 181 | ctrlset_buf, |
182 | (void **) &retval ); | 182 | (void **) &retval ); |