ACPI/int340x_thermal: enumerate INT340X devices even if they're not in _ART/_TRT
authorZhang Rui <rui.zhang@intel.com>
Sun, 4 Jan 2015 06:24:23 +0000 (14:24 +0800)
committerZhang Rui <rui.zhang@intel.com>
Tue, 6 Jan 2015 00:17:06 +0000 (08:17 +0800)
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 <rui.zhang@intel.com>
Tested-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
drivers/acpi/int340x_thermal.c
drivers/thermal/int340x_thermal/acpi_thermal_rel.c

index a27d31d1ba24afcd176d1151aff62da8350e54b4..dc3553dd59de5e04a9716a99db3a5165030f82ae 100644 (file)
@@ -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;
 }
index 231cabc16e160e7318b4339a9d3d5210ff8b2ec3..2c2ec7666eb182c44c24225609ab9ecd723ea04a 100644 (file)
@@ -119,15 +119,11 @@ int acpi_parse_trt(acpi_handle handle, int *trt_count, struct trt **trtp,
                        continue;
 
                result = acpi_bus_get_device(trt->source, &adev);
-               if (!result)
-                       acpi_create_platform_device(adev);
-               else
+               if (result)
                        pr_warn("Failed to get source ACPI device\n");
 
                result = acpi_bus_get_device(trt->target, &adev);
-               if (!result)
-                       acpi_create_platform_device(adev);
-               else
+               if (result)
                        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,
 
                if (art->source) {
                        result = acpi_bus_get_device(art->source, &adev);
-                       if (!result)
-                               acpi_create_platform_device(adev);
-                       else
+                       if (result)
                                pr_warn("Failed to get source ACPI device\n");
                }
                if (art->target) {
                        result = acpi_bus_get_device(art->target, &adev);
-                       if (!result)
-                               acpi_create_platform_device(adev);
-                       else
+                       if (result)
                                pr_warn("Failed to get source ACPI device\n");
                }
        }