From 48628e4015dbd77b676c5a9b5bd145a284f8bb93 Mon Sep 17 00:00:00 2001 From: Zhang Rui Date: Sun, 4 Jan 2015 14:24:23 +0800 Subject: ACPI/int340x_thermal: enumerate INT340X devices even if they're not in _ART/_TRT For some INT340X thermal devices, even if they are not referred in _TRT/_ART table, they still can be used by userspace for thermal control. Thus change the code to enumerated all the INT340X devices, no matter if they're referred in _TRT/_ART or not. Signed-off-by: Zhang Rui Tested-by: Srinivas Pandruvada --- drivers/acpi/int340x_thermal.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'drivers/acpi') diff --git a/drivers/acpi/int340x_thermal.c b/drivers/acpi/int340x_thermal.c index a27d31d1ba24..dc3553dd59de 100644 --- a/drivers/acpi/int340x_thermal.c +++ b/drivers/acpi/int340x_thermal.c @@ -14,9 +14,8 @@ #include "internal.h" -#define DO_ENUMERATION 0x01 static const struct acpi_device_id int340x_thermal_device_ids[] = { - {"INT3400", DO_ENUMERATION }, + {"INT3400"}, {"INT3401"}, {"INT3402"}, {"INT3403"}, @@ -34,8 +33,7 @@ static int int340x_thermal_handler_attach(struct acpi_device *adev, const struct acpi_device_id *id) { #if defined(CONFIG_INT340X_THERMAL) || defined(CONFIG_INT340X_THERMAL_MODULE) - if (id->driver_data == DO_ENUMERATION) - acpi_create_platform_device(adev); + acpi_create_platform_device(adev); #endif return 1; } -- cgit v1.2.3-58-ga151 From 014d9d5d0cc1da79bbe48fbc5e1068c5616238d2 Mon Sep 17 00:00:00 2001 From: Zhang Rui Date: Sun, 4 Jan 2015 14:24:24 +0800 Subject: ACPI/int340x_thermal: enumerate INT3401 for Intel SoC DTS thermal driver Intel SoC DTS thermal driver on Baytrail platform uses IRQ 86 for critical overheating notification. But this IRQ 86 is described in the _CRS control method of INT3401 device, thus we should enumerate INT3401 to set the IRQ descriptor when Intel SoC DTS thermal driver is built. Signed-off-by: Zhang Rui Tested-by: Srinivas Pandruvada --- drivers/acpi/int340x_thermal.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'drivers/acpi') diff --git a/drivers/acpi/int340x_thermal.c b/drivers/acpi/int340x_thermal.c index dc3553dd59de..9dcf83682e36 100644 --- a/drivers/acpi/int340x_thermal.c +++ b/drivers/acpi/int340x_thermal.c @@ -14,9 +14,10 @@ #include "internal.h" +#define INT3401_DEVICE 0X01 static const struct acpi_device_id int340x_thermal_device_ids[] = { {"INT3400"}, - {"INT3401"}, + {"INT3401", INT3401_DEVICE}, {"INT3402"}, {"INT3403"}, {"INT3404"}, @@ -34,6 +35,10 @@ static int int340x_thermal_handler_attach(struct acpi_device *adev, { #if defined(CONFIG_INT340X_THERMAL) || defined(CONFIG_INT340X_THERMAL_MODULE) acpi_create_platform_device(adev); +#elif defined(INTEL_SOC_DTS_THERMAL) || defined(INTEL_SOC_DTS_THERMAL_MODULE) + /* Intel SoC DTS thermal driver needs INT3401 to set IRQ descriptor */ + if (id->driver_data == INT3401_DEVICE) + acpi_create_platform_device(adev); #endif return 1; } -- cgit v1.2.3-58-ga151