mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.3 KiB
61 lines
1.3 KiB
// SPDX-License-Identifier: GPL-2.0-only |
|
/* |
|
* ACPI support for int340x thermal drivers |
|
* |
|
* Copyright (C) 2014, Intel Corporation |
|
* Authors: Zhang Rui <[email protected]> |
|
*/ |
|
|
|
#include <linux/acpi.h> |
|
#include <linux/module.h> |
|
|
|
#include "../internal.h" |
|
|
|
#define INT3401_DEVICE 0X01 |
|
static const struct acpi_device_id int340x_thermal_device_ids[] = { |
|
{"INT3400"}, |
|
{"INT3401", INT3401_DEVICE}, |
|
{"INT3402"}, |
|
{"INT3403"}, |
|
{"INT3404"}, |
|
{"INT3406"}, |
|
{"INT3407"}, |
|
{"INT3408"}, |
|
{"INT3409"}, |
|
{"INT340A"}, |
|
{"INT340B"}, |
|
{"INTC1040"}, |
|
{"INTC1041"}, |
|
{"INTC1043"}, |
|
{"INTC1044"}, |
|
{"INTC1045"}, |
|
{"INTC1046"}, |
|
{"INTC1047"}, |
|
{"INTC1048"}, |
|
{"INTC1049"}, |
|
{"INTC1060"}, |
|
{"INTC1061"}, |
|
{""}, |
|
}; |
|
|
|
static int int340x_thermal_handler_attach(struct acpi_device *adev, |
|
const struct acpi_device_id *id) |
|
{ |
|
if (IS_ENABLED(CONFIG_INT340X_THERMAL)) |
|
acpi_create_platform_device(adev, NULL); |
|
/* Intel SoC DTS thermal driver needs INT3401 to set IRQ descriptor */ |
|
else if (IS_ENABLED(CONFIG_INTEL_SOC_DTS_THERMAL) && |
|
id->driver_data == INT3401_DEVICE) |
|
acpi_create_platform_device(adev, NULL); |
|
return 1; |
|
} |
|
|
|
static struct acpi_scan_handler int340x_thermal_handler = { |
|
.ids = int340x_thermal_device_ids, |
|
.attach = int340x_thermal_handler_attach, |
|
}; |
|
|
|
void __init acpi_int340x_thermal_init(void) |
|
{ |
|
acpi_scan_add_handler(&int340x_thermal_handler); |
|
}
|
|
|