aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/pci-acpi.c
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2008-05-15 02:21:16 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-06-10 13:59:48 -0400
commit681f7d9db58d2b6dc3c3b784d6815f86a53b6ba0 (patch)
tree78bfb611f150d6843892f91a3f074dea2c59ac93 /drivers/pci/pci-acpi.c
parent5e0b9947452c824d66fafe728a46312cff544a7f (diff)
pci-acpi: add flag to indicate query had been done
Current pci-acpi implementation checks osc_data->support_stat to see if control bits had been already queried. It is not good from the viewpoint of easy understanding. So this patch adds new 'is_queried' flag to indicate query had been done. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Acked-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/pci-acpi.c')
-rw-r--r--drivers/pci/pci-acpi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index b1bd6e6155a3..951021838055 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -23,6 +23,7 @@ struct acpi_osc_data {
23 acpi_handle handle; 23 acpi_handle handle;
24 u32 support_set; 24 u32 support_set;
25 u32 control_set; 25 u32 control_set;
26 int is_queried;
26 u32 query_result; 27 u32 query_result;
27 struct list_head sibiling; 28 struct list_head sibiling;
28}; 29};
@@ -147,6 +148,7 @@ static acpi_status acpi_query_osc(acpi_handle handle,
147 if (ACPI_SUCCESS(status)) { 148 if (ACPI_SUCCESS(status)) {
148 osc_data->support_set = support_set; 149 osc_data->support_set = support_set;
149 osc_data->query_result = osc_args.query_result; 150 osc_data->query_result = osc_args.query_result;
151 osc_data->is_queried = 1;
150 } 152 }
151 153
152 return status; 154 return status;
@@ -203,7 +205,7 @@ acpi_status pci_osc_control_set(acpi_handle handle, u32 flags)
203 if (!ctrlset) 205 if (!ctrlset)
204 return AE_TYPE; 206 return AE_TYPE;
205 207
206 if (osc_data->support_set && 208 if (osc_data->is_queried &&
207 ((osc_data->query_result & ctrlset) != ctrlset)) 209 ((osc_data->query_result & ctrlset) != ctrlset))
208 return AE_SUPPORT; 210 return AE_SUPPORT;
209 211