1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2013 Matthew Garrett <mjg59@srcf.ucam.org>
6 #include <linux/acpi.h>
7 #include <linux/module.h>
11 static int smartconnect_acpi_init(struct acpi_device
*acpi
)
13 unsigned long long value
;
16 status
= acpi_evaluate_integer(acpi
->handle
, "GAOS", NULL
, &value
);
17 if (ACPI_FAILURE(status
))
21 dev_info(&acpi
->dev
, "Disabling Intel Smart Connect\n");
22 status
= acpi_execute_simple_method(acpi
->handle
, "SAOS", 0);
28 static const struct acpi_device_id smartconnect_ids
[] = {
32 MODULE_DEVICE_TABLE(acpi
, smartconnect_ids
);
34 static struct acpi_driver smartconnect_driver
= {
36 .name
= "intel_smart_connect",
37 .class = "intel_smart_connect",
38 .ids
= smartconnect_ids
,
40 .add
= smartconnect_acpi_init
,
44 module_acpi_driver(smartconnect_driver
);