diff options
Diffstat (limited to 'drivers/platform/x86/intel-smartconnect.c')
| -rw-r--r-- | drivers/platform/x86/intel-smartconnect.c | 29 | 
1 files changed, 5 insertions, 24 deletions
diff --git a/drivers/platform/x86/intel-smartconnect.c b/drivers/platform/x86/intel-smartconnect.c index 52259dcabec..04cf5dffdfd 100644 --- a/drivers/platform/x86/intel-smartconnect.c +++ b/drivers/platform/x86/intel-smartconnect.c @@ -19,43 +19,24 @@  #include <linux/init.h>  #include <linux/module.h> -#include <acpi/acpi_drivers.h> +#include <linux/acpi.h>  MODULE_LICENSE("GPL");  static int smartconnect_acpi_init(struct acpi_device *acpi)  { -	struct acpi_object_list input; -	struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; -	union acpi_object *result; -	union acpi_object param; +	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) { -		param.type = ACPI_TYPE_INTEGER; -		param.integer.value = 0; - -		input.count = 1; -		input.pointer = ¶m; - +	if (value & 0x1) {  		dev_info(&acpi->dev, "Disabling Intel Smart Connect\n"); -		status = acpi_evaluate_object(acpi->handle, "SAOS", &input, -					      NULL); +		status = acpi_execute_simple_method(acpi->handle, "SAOS", 0);  	} -	kfree(result); -  	return 0;  }  | 
