|
@@ -25,28 +25,18 @@ MODULE_LICENSE("GPL");
|
|
|
|
|
|
static int smartconnect_acpi_init(struct acpi_device *acpi)
|
|
|
{
|
|
|
- struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL };
|
|
|
- union acpi_object *result;
|
|
|
+ unsigned long long value;
|
|
|
acpi_status status;
|
|
|
|
|
|
- status = acpi_evaluate_object(acpi->handle, "GAOS", NULL, &output);
|
|
|
+ status = acpi_evaluate_integer(acpi->handle, "GAOS", NULL, &value);
|
|
|
if (!ACPI_SUCCESS(status))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- result = output.pointer;
|
|
|
-
|
|
|
- if (result->type != ACPI_TYPE_INTEGER) {
|
|
|
- kfree(result);
|
|
|
- return -EINVAL;
|
|
|
- }
|
|
|
-
|
|
|
- if (result->integer.value & 0x1) {
|
|
|
+ if (value & 0x1) {
|
|
|
dev_info(&acpi->dev, "Disabling Intel Smart Connect\n");
|
|
|
status = acpi_execute_simple_method(acpi->handle, "SAOS", 0);
|
|
|
}
|
|
|
|
|
|
- kfree(result);
|
|
|
-
|
|
|
return 0;
|
|
|
}
|
|
|
|