Commit 48628e40 authored by Zhang Rui's avatar Zhang Rui

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: default avatarZhang Rui <rui.zhang@intel.com>
Tested-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
parent 693a30b8
...@@ -14,9 +14,8 @@ ...@@ -14,9 +14,8 @@
#include "internal.h" #include "internal.h"
#define DO_ENUMERATION 0x01
static const struct acpi_device_id int340x_thermal_device_ids[] = { static const struct acpi_device_id int340x_thermal_device_ids[] = {
{"INT3400", DO_ENUMERATION }, {"INT3400"},
{"INT3401"}, {"INT3401"},
{"INT3402"}, {"INT3402"},
{"INT3403"}, {"INT3403"},
...@@ -34,7 +33,6 @@ static int int340x_thermal_handler_attach(struct acpi_device *adev, ...@@ -34,7 +33,6 @@ static int int340x_thermal_handler_attach(struct acpi_device *adev,
const struct acpi_device_id *id) const struct acpi_device_id *id)
{ {
#if defined(CONFIG_INT340X_THERMAL) || defined(CONFIG_INT340X_THERMAL_MODULE) #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 #endif
return 1; return 1;
......
...@@ -119,15 +119,11 @@ int acpi_parse_trt(acpi_handle handle, int *trt_count, struct trt **trtp, ...@@ -119,15 +119,11 @@ int acpi_parse_trt(acpi_handle handle, int *trt_count, struct trt **trtp,
continue; continue;
result = acpi_bus_get_device(trt->source, &adev); result = acpi_bus_get_device(trt->source, &adev);
if (!result) if (result)
acpi_create_platform_device(adev);
else
pr_warn("Failed to get source ACPI device\n"); pr_warn("Failed to get source ACPI device\n");
result = acpi_bus_get_device(trt->target, &adev); result = acpi_bus_get_device(trt->target, &adev);
if (!result) if (result)
acpi_create_platform_device(adev);
else
pr_warn("Failed to get target ACPI device\n"); pr_warn("Failed to get target ACPI device\n");
} }
...@@ -206,16 +202,12 @@ int acpi_parse_art(acpi_handle handle, int *art_count, struct art **artp, ...@@ -206,16 +202,12 @@ int acpi_parse_art(acpi_handle handle, int *art_count, struct art **artp,
if (art->source) { if (art->source) {
result = acpi_bus_get_device(art->source, &adev); result = acpi_bus_get_device(art->source, &adev);
if (!result) if (result)
acpi_create_platform_device(adev);
else
pr_warn("Failed to get source ACPI device\n"); pr_warn("Failed to get source ACPI device\n");
} }
if (art->target) { if (art->target) {
result = acpi_bus_get_device(art->target, &adev); result = acpi_bus_get_device(art->target, &adev);
if (!result) if (result)
acpi_create_platform_device(adev);
else
pr_warn("Failed to get source ACPI device\n"); pr_warn("Failed to get source ACPI device\n");
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment