brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · 014ada7 Raw
82 lines · c
1// SPDX-License-Identifier: GPL-2.0-only2/*3 * ACPI support for int340x thermal drivers4 *5 * Copyright (C) 2014, Intel Corporation6 * Authors: Zhang Rui <rui.zhang@intel.com>7 */8 9#include <linux/acpi.h>10#include <linux/module.h>11 12#include "../internal.h"13 14#define INT3401_DEVICE 0X0115static const struct acpi_device_id int340x_thermal_device_ids[] = {16	{"INT3400"},17	{"INT3401", INT3401_DEVICE},18	{"INT3402"},19	{"INT3403"},20	{"INT3404"},21	{"INT3406"},22	{"INT3407"},23	{"INT3408"},24	{"INT3409"},25	{"INT340A"},26	{"INT340B"},27	{"INT3532"},28	{"INTC1040"},29	{"INTC1041"},30	{"INTC1042"},31	{"INTC1043"},32	{"INTC1044"},33	{"INTC1045"},34	{"INTC1046"},35	{"INTC1047"},36	{"INTC1048"},37	{"INTC1049"},38	{"INTC1050"},39	{"INTC1060"},40	{"INTC1061"},41	{"INTC1062"},42	{"INTC1063"},43	{"INTC1064"},44	{"INTC1065"},45	{"INTC1066"},46	{"INTC1068"},47	{"INTC1069"},48	{"INTC106A"},49	{"INTC106B"},50	{"INTC106C"},51	{"INTC106D"},52	{"INTC10A0"},53	{"INTC10A1"},54	{"INTC10A2"},55	{"INTC10A3"},56	{"INTC10A4"},57	{"INTC10A5"},58	{""},59};60 61static int int340x_thermal_handler_attach(struct acpi_device *adev,62					const struct acpi_device_id *id)63{64	if (IS_ENABLED(CONFIG_INT340X_THERMAL))65		acpi_create_platform_device(adev, NULL);66	/* Intel SoC DTS thermal driver needs INT3401 to set IRQ descriptor */67	else if (IS_ENABLED(CONFIG_INTEL_SOC_DTS_THERMAL) &&68		 id->driver_data == INT3401_DEVICE)69		acpi_create_platform_device(adev, NULL);70	return 1;71}72 73static struct acpi_scan_handler int340x_thermal_handler = {74	.ids = int340x_thermal_device_ids,75	.attach = int340x_thermal_handler_attach,76};77 78void __init acpi_int340x_thermal_init(void)79{80	acpi_scan_add_handler(&int340x_thermal_handler);81}82