Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pci-acpi: Cleanup _OSC evaluation code

Cleanup _OSC evaluation code. Some whitespace changes and a few other
minor cleanups.

Reviewed-by: Andrew Patterson <andrew.patterson@hp.com>
Tested-by: Andrew Patterson <andrew.patterson@hp.com>
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

authored by

Taku Izumi and committed by
Jesse Barnes
86d86980 e0fa3b43

+14 -17
+14 -17
drivers/pci/pci-acpi.c
··· 24 24 acpi_handle handle; 25 25 u32 support_set; 26 26 u32 control_set; 27 + u32 control_query; 27 28 int is_queried; 28 - u32 query_result; 29 29 struct list_head sibiling; 30 30 }; 31 31 static LIST_HEAD(acpi_osc_data_list); 32 32 33 33 struct acpi_osc_args { 34 34 u32 capbuf[3]; 35 - u32 query_result; 36 35 }; 37 36 38 37 static DEFINE_MUTEX(pci_acpi_lock); ··· 57 58 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66}; 58 59 59 60 static acpi_status acpi_run_osc(acpi_handle handle, 60 - struct acpi_osc_args *osc_args) 61 + struct acpi_osc_args *osc_args, u32 *retval) 61 62 { 62 63 acpi_status status; 63 64 struct acpi_object_list input; ··· 113 114 goto out_kfree; 114 115 } 115 116 out_success: 116 - if (flags & OSC_QUERY_ENABLE) 117 - osc_args->query_result = 118 - *((u32 *)(out_obj->buffer.pointer + 8)); 117 + *retval = *((u32 *)(out_obj->buffer.pointer + 8)); 119 118 status = AE_OK; 120 119 121 120 out_kfree: ··· 124 127 static acpi_status __acpi_query_osc(u32 flags, struct acpi_osc_data *osc_data) 125 128 { 126 129 acpi_status status; 127 - u32 support_set; 130 + u32 support_set, result; 128 131 struct acpi_osc_args osc_args; 129 132 130 133 /* do _OSC query for all possible controls */ ··· 133 136 osc_args.capbuf[OSC_SUPPORT_TYPE] = support_set; 134 137 osc_args.capbuf[OSC_CONTROL_TYPE] = OSC_CONTROL_MASKS; 135 138 136 - status = acpi_run_osc(osc_data->handle, &osc_args); 139 + status = acpi_run_osc(osc_data->handle, &osc_args, &result); 137 140 if (ACPI_SUCCESS(status)) { 138 141 osc_data->support_set = support_set; 139 - osc_data->query_result = osc_args.query_result; 142 + osc_data->control_query = result; 140 143 osc_data->is_queried = 1; 141 144 } 142 145 ··· 184 187 acpi_status pci_osc_control_set(acpi_handle handle, u32 flags) 185 188 { 186 189 acpi_status status; 187 - u32 ctrlset, control_set; 190 + u32 control_req, control_set, result; 188 191 acpi_handle tmp; 189 192 struct acpi_osc_data *osc_data; 190 193 struct acpi_osc_args osc_args; ··· 201 204 goto out; 202 205 } 203 206 204 - ctrlset = (flags & OSC_CONTROL_MASKS); 205 - if (!ctrlset) { 207 + control_req = (flags & OSC_CONTROL_MASKS); 208 + if (!control_req) { 206 209 status = AE_TYPE; 207 210 goto out; 208 211 } 209 212 210 213 /* No need to evaluate _OSC if the control was already granted. */ 211 - if ((osc_data->control_set & ctrlset) == ctrlset) 214 + if ((osc_data->control_set & control_req) == control_req) 212 215 goto out; 213 216 214 217 if (!osc_data->is_queried) { ··· 217 220 goto out; 218 221 } 219 222 220 - if ((osc_data->query_result & ctrlset) != ctrlset) { 223 + if ((osc_data->control_query & control_req) != control_req) { 221 224 status = AE_SUPPORT; 222 225 goto out; 223 226 } 224 227 225 - control_set = osc_data->control_set | ctrlset; 228 + control_set = osc_data->control_set | control_req; 226 229 osc_args.capbuf[OSC_QUERY_TYPE] = 0; 227 230 osc_args.capbuf[OSC_SUPPORT_TYPE] = osc_data->support_set; 228 231 osc_args.capbuf[OSC_CONTROL_TYPE] = control_set; 229 - status = acpi_run_osc(handle, &osc_args); 232 + status = acpi_run_osc(handle, &osc_args, &result); 230 233 if (ACPI_SUCCESS(status)) 231 - osc_data->control_set = control_set; 234 + osc_data->control_set = result; 232 235 out: 233 236 mutex_unlock(&pci_acpi_lock); 234 237 return status;