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>
9 MODULE_DESCRIPTION("Intel Smart Connect disabling driver");
10 MODULE_LICENSE("GPL");
12 static int smartconnect_acpi_init(struct acpi_device
*acpi
)
14 unsigned long long value
;
17 status
= acpi_evaluate_integer(acpi
->handle
, "GAOS", NULL
, &value
);
18 if (ACPI_FAILURE(status
))
22 dev_info(&acpi
->dev
, "Disabling Intel Smart Connect\n");
23 status
= acpi_execute_simple_method(acpi
->handle
, "SAOS", 0);
29 static const struct acpi_device_id smartconnect_ids
[] = {
33 MODULE_DEVICE_TABLE(acpi
, smartconnect_ids
);
35 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
);