Thermal: Intel SoC DTS: Change interrupt request behavior
authorBrian Bian <brian.bian@intel.com>
Wed, 12 Apr 2017 21:07:17 +0000 (14:07 -0700)
committerZhang Rui <rui.zhang@intel.com>
Fri, 5 May 2017 08:00:10 +0000 (16:00 +0800)
The interrupt request call in Intel SoC DTS driver may fail if
there is no underlying BIOS support. However, the user space
thermal daemon can still use the thermal zones created by the
SoC DTS driver in polling mode, therefore, instead of bailing
out on interrupt request failures, it is better just to log
a warning message and continue the init process.

Signed-off-by: Brian Bian <brian.bian@intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/intel_soc_dts_thermal.c

index b2bbaa1..c27868b 100644 (file)
@@ -73,8 +73,12 @@ static int __init intel_soc_thermal_init(void)
                                           IRQF_TRIGGER_RISING | IRQF_ONESHOT,
                                           "soc_dts", soc_dts);
                if (err) {
-                       pr_err("request_threaded_irq ret %d\n", err);
-                       goto error_irq;
+                       /*
+                        * Do not just error out because the user space thermal
+                        * daemon such as DPTF may use polling instead of being
+                        * interrupt driven.
+                        */
+                       pr_warn("request_threaded_irq ret %d\n", err);
                }
        }
 
@@ -88,7 +92,6 @@ static int __init intel_soc_thermal_init(void)
 error_trips:
        if (soc_dts_thres_irq)
                free_irq(soc_dts_thres_irq, soc_dts);
-error_irq:
        intel_soc_dts_iosf_exit(soc_dts);
 
        return err;